Files
ry.kazcloud.dev/node_modules/yaml-language-server/out/server/test/yamlLanguageService.test.js
Ryan Kazokas d181f77fb2
All checks were successful
Build and Push / build (push) Successful in 55s
Updates dockerfile
2026-02-16 15:09:37 -05:00

90 lines
3.6 KiB
JavaScript

"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