UNPKG

lsp-ws-connection

Version:
75 lines 2.96 kB
import { expect } from 'chai'; import { registerServerCapability, unregisterServerCapability } from '../server-capability-registration'; describe('ServerCapabilities client registration', function () { var serverCapabilities = { hoverProvider: true, completionProvider: { resolveProvider: true, triggerCharacters: ['.', ','] }, signatureHelpProvider: { triggerCharacters: ['.', ','] }, definitionProvider: true, typeDefinitionProvider: true, implementationProvider: true, referencesProvider: true, documentHighlightProvider: true, documentSymbolProvider: true, workspaceSymbolProvider: true, codeActionProvider: true, codeLensProvider: { resolveProvider: true }, documentFormattingProvider: true, documentRangeFormattingProvider: true, documentOnTypeFormattingProvider: { firstTriggerCharacter: '.' }, renameProvider: true, documentLinkProvider: { resolveProvider: true }, colorProvider: true, foldingRangeProvider: true, declarationProvider: true, executeCommandProvider: { commands: ['not', 'real', 'commands'] } }; it('registers server capabilities', function () { Object.keys(serverCapabilities).forEach(function (capability) { var capabilityOptions = serverCapabilities[capability]; var registration = { id: 'id', method: getMethodFromCapability(capability) }; if (typeof capabilityOptions !== 'boolean') { registration.registerOptions = capabilityOptions; } var newServerCapabilities = registerServerCapability({}, registration); if (typeof capabilityOptions === 'boolean') { // eslint-disable-next-line jest/no-conditional-expect expect(newServerCapabilities[capability]).equal(capabilityOptions); } else { // eslint-disable-next-line jest/no-conditional-expect expect(newServerCapabilities[capability]).to.deep.equal(capabilityOptions); } }); }); it('unregisters server capabilities', function () { Object.keys(serverCapabilities).forEach(function (capability) { var unregistration = { id: 'some id', method: getMethodFromCapability(capability) }; var newServerCapabilities = unregisterServerCapability(serverCapabilities, unregistration); expect(newServerCapabilities[capability]).equal(void 0); }); }); }); function getMethodFromCapability(capability) { return "textDocument/".concat(capability.split('Provider')[0]); } //# sourceMappingURL=server-capability-registration.test.js.map