Skip to content

Commit 94df20d

Browse files
q-raultedrolys
authored andcommitted
add tests
1 parent e896d0f commit 94df20d

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

src/languageservice/services/yamlHover.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import { Hover, MarkupContent, MarkupKind, Position, Range } from 'vscode-languageserver-types';
88
import { matchOffsetToDocument } from '../utils/arrUtils';
9-
import { LanguageSettings } from '../yamlLanguageService';
9+
import { LanguageSettings, HoverSettings } from '../yamlLanguageService';
1010
import { YAMLSchemaService } from './yamlSchemaService';
1111
import { setKubernetesParserOption } from '../parser/isKubernetes';
1212
import { TextDocument } from 'vscode-languageserver-textdocument';
@@ -24,7 +24,7 @@ import { stringify as stringifyYAML } from 'yaml';
2424
export class YAMLHover {
2525
private shouldHover: boolean;
2626
private indentation: string;
27-
private hoverSettings: LanguageSettings['hoverSettings'];
27+
private hoverSettings: HoverSettings;
2828
private schemaService: YAMLSchemaService;
2929

3030
constructor(schemaService: YAMLSchemaService, private readonly telemetry?: Telemetry) {
@@ -36,7 +36,7 @@ export class YAMLHover {
3636
if (languageSettings) {
3737
this.shouldHover = languageSettings.hover;
3838
this.indentation = languageSettings.indentation;
39-
this.hoverSettings = languageSettings.hoverSettings;
39+
this.hoverSettings = languageSettings.hoverSettings ?? {};
4040
}
4141
}
4242

@@ -105,9 +105,8 @@ export class YAMLHover {
105105
return value.replace(/\|\|\s*$/, '');
106106
};
107107

108-
const hoverSettings = this.hoverSettings || {};
109-
const showSource = !!hoverSettings?.showSource;
110-
const showTitle = !!hoverSettings?.showTitle;
108+
const showSource = this.hoverSettings?.showSource ?? true; // showSource enabled by default
109+
const showTitle = this.hoverSettings?.showTitle ?? true; // showTitle enabled by default
111110

112111
return this.schemaService.getSchemaForResource(document.uri, doc).then((schema) => {
113112
if (schema && node && !schema.errors.length) {

src/languageservice/yamlLanguageService.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,15 @@ export interface SchemasSettings {
7171
versions?: SchemaVersions;
7272
}
7373

74+
export interface HoverSettings {
75+
showSource?: boolean;
76+
showTitle?: boolean;
77+
}
78+
7479
export interface LanguageSettings {
7580
validate?: boolean; //Setting for whether we want to validate the schema
7681
hover?: boolean; //Setting for whether we want to have hover results
77-
hoverSettings?: { showSource?: boolean; showTitle?: boolean }; // Settings for hover parts
82+
hoverSettings?: HoverSettings; // Settings for hover parts
7883
completion?: boolean; //Setting for whether we want to have completion results
7984
format?: boolean; //Setting for whether we want to have the formatter or not
8085
isKubernetes?: boolean; //If true then its validating against kubernetes

test/utils/serviceSetup.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Copyright (c) Red Hat. All rights reserved.
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
5-
import { LanguageSettings, SchemasSettings } from '../../src/languageservice/yamlLanguageService';
5+
import { HoverSettings, LanguageSettings, SchemasSettings } from '../../src/languageservice/yamlLanguageService';
66

77
export class ServiceSetup {
88
/*
@@ -12,6 +12,7 @@ export class ServiceSetup {
1212
languageSettings: LanguageSettings = {
1313
validate: false,
1414
hover: false,
15+
hoverSettings: {},
1516
completion: false,
1617
format: false,
1718
isKubernetes: false,
@@ -33,6 +34,11 @@ export class ServiceSetup {
3334
return this;
3435
}
3536

37+
withHoverSettings(hoverSettings: HoverSettings): ServiceSetup {
38+
this.languageSettings.hoverSettings = hoverSettings;
39+
return this;
40+
}
41+
3642
withCompletion(): ServiceSetup {
3743
this.languageSettings.completion = true;
3844
return this;

0 commit comments

Comments
 (0)