@prisma/language-server
Version:
Prisma Language Server
337 lines • 10.3 kB
JavaScript
"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