UNPKG

@prisma/language-server

Version:
337 lines • 10.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const vscode_languageserver_1 = require("vscode-languageserver"); const vitest_1 = require("vitest"); const MessageHandler_1 = require("../lib/MessageHandler"); const helper_1 = require("./helper"); function assertSymbols(fixturePath, expected) { const textDocument = (0, helper_1.getTextDocument)(fixturePath); const actual = (0, MessageHandler_1.handleDocumentSymbol)({ textDocument }, textDocument); (0, vitest_1.expect)(actual).toStrictEqual(expected); } (0, vitest_1.describe)('DocumentSymbol', () => { const getFixturePath = (testName) => `./hover/${testName}.prisma`; (0, vitest_1.test)('hover_postgresql.prisma', () => { const fixturePath = getFixturePath('postgresql'); assertSymbols(fixturePath, [ { kind: vscode_languageserver_1.SymbolKind.Struct, name: 'db', range: { end: { character: 1, line: 3, }, start: { character: 0, line: 0, }, }, selectionRange: { end: { character: 13, line: 0, }, start: { character: 11, line: 0, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Function, name: 'client', range: { end: { character: 1, line: 7, }, start: { character: 0, line: 5, }, }, selectionRange: { end: { character: 16, line: 5, }, start: { character: 10, line: 5, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Class, name: 'Post', range: { end: { character: 1, line: 17, }, start: { character: 0, line: 11, }, }, selectionRange: { end: { character: 10, line: 11, }, start: { character: 6, line: 11, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Class, name: 'User', range: { end: { character: 1, line: 27, }, start: { character: 0, line: 20, }, }, selectionRange: { end: { character: 10, line: 20, }, start: { character: 6, line: 20, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Enum, name: 'UserName', range: { end: { character: 1, line: 33, }, start: { character: 0, line: 30, }, }, selectionRange: { end: { character: 13, line: 30, }, start: { character: 5, line: 30, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Enum, name: 'Test', range: { end: { character: 1, line: 39, }, start: { character: 0, line: 36, }, }, selectionRange: { end: { character: 9, line: 36, }, start: { character: 5, line: 36, }, }, }, ]); }); (0, vitest_1.test)('hover_mongodb.prisma', () => { const fixturePath = getFixturePath('mongodb'); assertSymbols(fixturePath, [ { kind: vscode_languageserver_1.SymbolKind.Function, name: 'client', range: { end: { character: 1, line: 2, }, start: { character: 0, line: 0, }, }, selectionRange: { end: { character: 16, line: 0, }, start: { character: 10, line: 0, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Struct, name: 'db', range: { end: { character: 1, line: 7, }, start: { character: 0, line: 4, }, }, selectionRange: { end: { character: 13, line: 4, }, start: { character: 11, line: 4, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Class, name: 'Post', range: { end: { character: 1, line: 15, }, start: { character: 0, line: 9, }, }, selectionRange: { end: { character: 10, line: 9, }, start: { character: 6, line: 9, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Class, name: 'User', range: { end: { character: 1, line: 24, }, start: { character: 0, line: 17, }, }, selectionRange: { end: { character: 10, line: 17, }, start: { character: 6, line: 17, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Class, name: 'EmbedHolder', range: { end: { character: 1, line: 35, }, start: { character: 0, line: 26, }, }, selectionRange: { end: { character: 17, line: 26, }, start: { character: 6, line: 26, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Interface, name: 'Embed', range: { end: { character: 1, line: 44, }, start: { character: 0, line: 37, }, }, selectionRange: { end: { character: 10, line: 37, }, start: { character: 5, line: 37, }, }, }, { kind: vscode_languageserver_1.SymbolKind.Interface, name: 'EmbedEmbed', range: { end: { character: 1, line: 49, }, start: { character: 0, line: 46, }, }, selectionRange: { end: { character: 15, line: 46, }, start: { character: 5, line: 46, }, }, }, ]); }); }); //# sourceMappingURL=documentSymbol.test.js.map