diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index bf3ea41be2b..4bbd3a80951 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1762,7 +1762,7 @@ function canUseOriginalText(node: LiteralLikeNode, flags: GetLiteralTextFlags): /** @internal */ export function getTextOfConstantValue(value: string | number) { - return isString(value) ? '"' + escapeNonAsciiString(value) + '"' : "" + value; + return isString(value) ? `"${escapeString(value)}"` : "" + value; } // Make an identifier from an external module name by extracting the string after the last "/" and replacing diff --git a/tests/cases/fourslash/quickInfoEnumMembersAcceptNonAsciiStrings.ts b/tests/cases/fourslash/quickInfoEnumMembersAcceptNonAsciiStrings.ts new file mode 100644 index 00000000000..5f4f9423d25 --- /dev/null +++ b/tests/cases/fourslash/quickInfoEnumMembersAcceptNonAsciiStrings.ts @@ -0,0 +1,13 @@ +/// + +//// enum Demo { +//// /*Emoji*/Emoji = '🍎', +//// /*Hebrew*/Hebrew = 'תפוח', +//// /*Chinese*/Chinese = '苹果', +//// /*Japanese*/Japanese = 'りんご', +//// } + +verify.quickInfoAt("Emoji", '(enum member) Demo.Emoji = "🍎"'); +verify.quickInfoAt("Hebrew",'(enum member) Demo.Hebrew = "תפוח"'); +verify.quickInfoAt("Chinese", '(enum member) Demo.Chinese = "苹果"'); +verify.quickInfoAt("Japanese",'(enum member) Demo.Japanese = "りんご"');