Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/ide/utils_spec.js')
-rw-r--r--spec/frontend/ide/utils_spec.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/spec/frontend/ide/utils_spec.js b/spec/frontend/ide/utils_spec.js
index 15baeca7f36..b6de576a0a4 100644
--- a/spec/frontend/ide/utils_spec.js
+++ b/spec/frontend/ide/utils_spec.js
@@ -1,6 +1,7 @@
import {
isTextFile,
registerLanguages,
+ registerSchemas,
trimPathComponents,
insertFinalNewline,
trimTrailingWhitespace,
@@ -158,6 +159,57 @@ describe('WebIDE utils', () => {
});
});
+ describe('registerSchemas', () => {
+ let options;
+
+ beforeEach(() => {
+ options = {
+ validate: true,
+ enableSchemaRequest: true,
+ hover: true,
+ completion: true,
+ schemas: [
+ {
+ uri: 'http://myserver/foo-schema.json',
+ fileMatch: ['*'],
+ schema: {
+ id: 'http://myserver/foo-schema.json',
+ type: 'object',
+ properties: {
+ p1: { enum: ['v1', 'v2'] },
+ p2: { $ref: 'http://myserver/bar-schema.json' },
+ },
+ },
+ },
+ {
+ uri: 'http://myserver/bar-schema.json',
+ schema: {
+ id: 'http://myserver/bar-schema.json',
+ type: 'object',
+ properties: { q1: { enum: ['x1', 'x2'] } },
+ },
+ },
+ ],
+ };
+
+ jest.spyOn(languages.json.jsonDefaults, 'setDiagnosticsOptions');
+ jest.spyOn(languages.yaml.yamlDefaults, 'setDiagnosticsOptions');
+ });
+
+ it.each`
+ language | defaultsObj
+ ${'json'} | ${languages.json.jsonDefaults}
+ ${'yaml'} | ${languages.yaml.yamlDefaults}
+ `(
+ 'registers the given schemas with monaco for lang: $language',
+ ({ language, defaultsObj }) => {
+ registerSchemas({ language, options });
+
+ expect(defaultsObj.setDiagnosticsOptions).toHaveBeenCalledWith(options);
+ },
+ );
+ });
+
describe('trimTrailingWhitespace', () => {
it.each`
input | output