This commit is contained in:
90
node_modules/yaml-language-server/out/server/test/yamlLanguageService.test.js
generated
vendored
Normal file
90
node_modules/yaml-language-server/out/server/test/yamlLanguageService.test.js
generated
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Red Hat, Inc. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
const chai_1 = require("chai");
|
||||
const src_1 = require("../src");
|
||||
const schemaRequestHandler_1 = require("../src/languageservice/services/schemaRequestHandler");
|
||||
const testHelper_1 = require("./utils/testHelper");
|
||||
/**
|
||||
* Builds a simple schema request service
|
||||
* @param contentMap Mapping of a schema uri to the schema content
|
||||
*/
|
||||
function schemaRequestServiceBuilder(contentMap) {
|
||||
return async (uri) => {
|
||||
return contentMap[uri];
|
||||
};
|
||||
}
|
||||
describe('getLanguageService()', () => {
|
||||
it('successfully creates an instance without optional arguments', () => {
|
||||
(0, src_1.getLanguageService)({
|
||||
schemaRequestService: {},
|
||||
workspaceContext: {},
|
||||
});
|
||||
});
|
||||
describe('minimal language service hover happy path', () => {
|
||||
const schemaUri = 'my.schema.uri';
|
||||
const schemaContentMap = {};
|
||||
let schemaRequestService;
|
||||
let textDocument;
|
||||
let hoverPosition; // Position the 'mouse' is hovering on the content
|
||||
let minimalYamlService;
|
||||
before(async () => {
|
||||
// Setup object that resolves schema content
|
||||
schemaContentMap[schemaUri] = `
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"firstName": {
|
||||
"type": "string",
|
||||
"description": "The person's first name."
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
schemaRequestService = schemaRequestServiceBuilder(schemaContentMap);
|
||||
// Setup the document and where the hover is on it
|
||||
const contentWithHoverPosition = 'fi|r|stName: "Nikolas"';
|
||||
const { content, position: offset } = (0, testHelper_1.caretPosition)(contentWithHoverPosition);
|
||||
textDocument = (0, testHelper_1.setupSchemaIDTextDocument)(content);
|
||||
hoverPosition = textDocument.positionAt(offset);
|
||||
// Setup minimal language service + indicate to provide hover functionality
|
||||
minimalYamlService = (0, src_1.getLanguageService)({
|
||||
schemaRequestService: schemaRequestService,
|
||||
workspaceContext: schemaRequestHandler_1.workspaceContext,
|
||||
});
|
||||
minimalYamlService.configure({
|
||||
hover: true,
|
||||
schemas: [
|
||||
{
|
||||
fileMatch: [textDocument.uri],
|
||||
uri: schemaUri,
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
it('successfully creates an instance without optional arguments', async () => {
|
||||
const result = await minimalYamlService.doHover(textDocument, hoverPosition);
|
||||
chai_1.assert.deepEqual(result, {
|
||||
contents: {
|
||||
kind: 'markdown',
|
||||
value: "The person's first name\\.\n\nSource: [my.schema.uri](my.schema.uri)",
|
||||
},
|
||||
range: {
|
||||
start: {
|
||||
line: 0,
|
||||
character: 0,
|
||||
},
|
||||
end: {
|
||||
line: 0,
|
||||
character: 9,
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
//# sourceMappingURL=yamlLanguageService.test.js.map
|
||||
Reference in New Issue
Block a user