Skip to content

Commit 7ffec26

Browse files
committed
Wrapping code action title with string
1 parent 3821411 commit 7ffec26

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/languageservice/services/yamlCodeActions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ export class YamlCodeActions {
351351
for (const value of values) {
352352
results.push(
353353
CodeAction.create(
354-
value,
354+
String(value),
355355
createWorkspaceEdit(document.uri, [TextEdit.replace(diagnostic.range, value)]),
356356
CodeActionKind.QuickFix
357357
)

test/yamlCodeActions.test.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,5 +431,29 @@ animals: [dog , cat , mouse] `;
431431
expect(result.map((r) => r.title)).deep.equal(['fooX', 'fooY']);
432432
expect(result[0].edit.changes[TEST_URI]).deep.equal([TextEdit.replace(Range.create(0, 0, 0, 3), 'fooX')]);
433433
});
434+
435+
it('should generate proper action for enum mismatch, title converted to string value', () => {
436+
const doc = setupTextDocument('foo: value1');
437+
const diagnostic = createDiagnosticWithData(
438+
'message',
439+
0,
440+
5,
441+
0,
442+
11,
443+
DiagnosticSeverity.Hint,
444+
'YAML',
445+
'schemaUri',
446+
ErrorCode.EnumValueMismatch,
447+
{ values: [5, 10] }
448+
);
449+
const params: CodeActionParams = {
450+
context: CodeActionContext.create([diagnostic]),
451+
range: undefined,
452+
textDocument: TextDocumentIdentifier.create(TEST_URI),
453+
};
454+
const actions = new YamlCodeActions(clientCapabilities);
455+
const result = actions.getCodeAction(doc, params);
456+
expect(result.map((r) => r.title)).deep.equal(['5', '10']);
457+
});
434458
});
435459
});

0 commit comments

Comments
 (0)