From a4d12a46c8b413c65a730c4ad0323459f1fc44ce Mon Sep 17 00:00:00 2001 From: idango10 <75563024+idango10@users.noreply.github.com> Date: Fri, 12 Apr 2024 23:04:03 +0300 Subject: [PATCH] fix(58146): enum quick info can display non ascii strings (#58171) --- src/compiler/utilities.ts | 2 +- .../quickInfoEnumMembersAcceptNonAsciiStrings.ts | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/quickInfoEnumMembersAcceptNonAsciiStrings.ts 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 = "りんご"');