From 4657c2dfd505fbae96ab3b2eedc2ebd9faef097a Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Fri, 27 Feb 2015 12:55:46 -0800 Subject: [PATCH] Emit all strings with extended escapes using the same scheme as templates. --- src/compiler/emitter.ts | 11 +++++++---- src/compiler/parser.ts | 4 ++++ src/compiler/scanner.ts | 5 +++++ src/compiler/types.ts | 1 + tests/baselines/reference/APISample_compile.js | 2 ++ tests/baselines/reference/APISample_compile.types | 6 ++++++ tests/baselines/reference/APISample_linter.js | 2 ++ tests/baselines/reference/APISample_linter.types | 6 ++++++ tests/baselines/reference/APISample_transform.js | 2 ++ tests/baselines/reference/APISample_transform.types | 6 ++++++ tests/baselines/reference/APISample_watcher.js | 2 ++ tests/baselines/reference/APISample_watcher.types | 6 ++++++ .../unicodeExtendedEscapesInStrings01_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings02_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings03_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings04_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings05_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings06_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings07_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings08_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings09_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings10_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings11_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings12_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings13_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings14_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings15_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings16_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings17_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings18_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings19_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings20_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings21_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings22_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings23_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings24_ES5.js | 2 +- .../unicodeExtendedEscapesInStrings25_ES5.js | 2 +- 37 files changed, 74 insertions(+), 29 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 777968ee683..295b068758b 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2187,9 +2187,12 @@ module ts { } function emitLiteral(node: LiteralExpression) { - var text = languageVersion < ScriptTarget.ES6 && isTemplateLiteralKind(node.kind) ? getTemplateLiteralAsStringLiteral(node) : - node.parent ? getSourceTextOfNodeFromSourceFile(currentSourceFile, node) : - node.text; + var text = languageVersion < ScriptTarget.ES6 && (isTemplateLiteralKind(node.kind) || node.hasExtendedUnicodeEscape) + ? getDoubleQuotedStringTextOfLiteral(node) + : node.parent + ? getSourceTextOfNodeFromSourceFile(currentSourceFile, node) + : node.text; // TODO(drosen): Is this correct? + if (compilerOptions.sourceMap && (node.kind === SyntaxKind.StringLiteral || isTemplateLiteralKind(node.kind))) { writer.writeLiteral(text); } @@ -2202,7 +2205,7 @@ module ts { } } - function getTemplateLiteralAsStringLiteral(node: LiteralExpression): string { + function getDoubleQuotedStringTextOfLiteral(node: LiteralExpression): string { var result = escapeString(node.text); result = replaceNonAsciiCharacters(result); diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 9dc8a475527..21ff1f98e65 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -2164,6 +2164,10 @@ module ts { var text = scanner.getTokenValue(); node.text = internName ? internIdentifier(text) : text; + if (scanner.hasExtendedUnicodeEscape()) { + node.hasExtendedUnicodeEscape = true; + } + if (scanner.isUnterminated()) { node.isUnterminated = true; } diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index 5e3a7e3a112..604f422eca4 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -14,6 +14,7 @@ module ts { getTokenPos(): number; getTokenText(): string; getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; hasPrecedingLineBreak(): boolean; isIdentifier(): boolean; isReservedWord(): boolean; @@ -556,6 +557,7 @@ module ts { var token: SyntaxKind; var tokenValue: string; var precedingLineBreak: boolean; + var hasExtendedUnicodeEscape: boolean; var tokenIsUnterminated: boolean; function error(message: DiagnosticMessage, length?: number): void { @@ -776,6 +778,7 @@ module ts { return "\""; case CharacterCodes.u: if (text.charCodeAt(pos) === CharacterCodes.openBrace) { + hasExtendedUnicodeEscape = true; pos++; var escapedValue = scanMinimumNumberOfHexDigits(1); @@ -926,6 +929,7 @@ module ts { function scan(): SyntaxKind { startPos = pos; + hasExtendedUnicodeEscape = false; precedingLineBreak = false; tokenIsUnterminated = false; while (true) { @@ -1393,6 +1397,7 @@ module ts { getTokenPos: () => tokenPos, getTokenText: () => text.substring(tokenPos, pos), getTokenValue: () => tokenValue, + hasExtendedUnicodeEscape: () => hasExtendedUnicodeEscape, hasPrecedingLineBreak: () => precedingLineBreak, isIdentifier: () => token === SyntaxKind.Identifier || token > SyntaxKind.LastReservedWord, isReservedWord: () => token >= SyntaxKind.FirstReservedWord && token <= SyntaxKind.LastReservedWord, diff --git a/src/compiler/types.ts b/src/compiler/types.ts index d1730ce1f1b..82f739de1c8 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -655,6 +655,7 @@ module ts { export interface LiteralExpression extends PrimaryExpression { text: string; isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; } export interface StringLiteralExpression extends LiteralExpression { diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index 5381b327504..ebfc288a85f 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -552,6 +552,7 @@ declare module "typescript" { interface LiteralExpression extends PrimaryExpression { text: string; isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; } interface StringLiteralExpression extends LiteralExpression { _stringLiteralExpressionBrand: any; @@ -1421,6 +1422,7 @@ declare module "typescript" { getTokenPos(): number; getTokenText(): string; getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; hasPrecedingLineBreak(): boolean; isIdentifier(): boolean; isReservedWord(): boolean; diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types index 106fa45e424..3f389dfea8a 100644 --- a/tests/baselines/reference/APISample_compile.types +++ b/tests/baselines/reference/APISample_compile.types @@ -1664,6 +1664,9 @@ declare module "typescript" { isUnterminated?: boolean; >isUnterminated : boolean + + hasExtendedUnicodeEscape?: boolean; +>hasExtendedUnicodeEscape : boolean } interface StringLiteralExpression extends LiteralExpression { >StringLiteralExpression : StringLiteralExpression @@ -4481,6 +4484,9 @@ declare module "typescript" { getTokenValue(): string; >getTokenValue : () => string + hasExtendedUnicodeEscape(): boolean; +>hasExtendedUnicodeEscape : () => boolean + hasPrecedingLineBreak(): boolean; >hasPrecedingLineBreak : () => boolean diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index 47183c920b4..c4699b98948 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -583,6 +583,7 @@ declare module "typescript" { interface LiteralExpression extends PrimaryExpression { text: string; isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; } interface StringLiteralExpression extends LiteralExpression { _stringLiteralExpressionBrand: any; @@ -1452,6 +1453,7 @@ declare module "typescript" { getTokenPos(): number; getTokenText(): string; getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; hasPrecedingLineBreak(): boolean; isIdentifier(): boolean; isReservedWord(): boolean; diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types index 776e7c0bbc1..7a3138251e1 100644 --- a/tests/baselines/reference/APISample_linter.types +++ b/tests/baselines/reference/APISample_linter.types @@ -1810,6 +1810,9 @@ declare module "typescript" { isUnterminated?: boolean; >isUnterminated : boolean + + hasExtendedUnicodeEscape?: boolean; +>hasExtendedUnicodeEscape : boolean } interface StringLiteralExpression extends LiteralExpression { >StringLiteralExpression : StringLiteralExpression @@ -4627,6 +4630,9 @@ declare module "typescript" { getTokenValue(): string; >getTokenValue : () => string + hasExtendedUnicodeEscape(): boolean; +>hasExtendedUnicodeEscape : () => boolean + hasPrecedingLineBreak(): boolean; >hasPrecedingLineBreak : () => boolean diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index ea323ba927f..273d9110ec9 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -584,6 +584,7 @@ declare module "typescript" { interface LiteralExpression extends PrimaryExpression { text: string; isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; } interface StringLiteralExpression extends LiteralExpression { _stringLiteralExpressionBrand: any; @@ -1453,6 +1454,7 @@ declare module "typescript" { getTokenPos(): number; getTokenText(): string; getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; hasPrecedingLineBreak(): boolean; isIdentifier(): boolean; isReservedWord(): boolean; diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types index 9abc0385d07..3d478c44aed 100644 --- a/tests/baselines/reference/APISample_transform.types +++ b/tests/baselines/reference/APISample_transform.types @@ -1760,6 +1760,9 @@ declare module "typescript" { isUnterminated?: boolean; >isUnterminated : boolean + + hasExtendedUnicodeEscape?: boolean; +>hasExtendedUnicodeEscape : boolean } interface StringLiteralExpression extends LiteralExpression { >StringLiteralExpression : StringLiteralExpression @@ -4577,6 +4580,9 @@ declare module "typescript" { getTokenValue(): string; >getTokenValue : () => string + hasExtendedUnicodeEscape(): boolean; +>hasExtendedUnicodeEscape : () => boolean + hasPrecedingLineBreak(): boolean; >hasPrecedingLineBreak : () => boolean diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index 3e80b34ba0e..629636b0eea 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -621,6 +621,7 @@ declare module "typescript" { interface LiteralExpression extends PrimaryExpression { text: string; isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; } interface StringLiteralExpression extends LiteralExpression { _stringLiteralExpressionBrand: any; @@ -1490,6 +1491,7 @@ declare module "typescript" { getTokenPos(): number; getTokenText(): string; getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; hasPrecedingLineBreak(): boolean; isIdentifier(): boolean; isReservedWord(): boolean; diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types index 79c2177ce79..b01a2915b5b 100644 --- a/tests/baselines/reference/APISample_watcher.types +++ b/tests/baselines/reference/APISample_watcher.types @@ -1933,6 +1933,9 @@ declare module "typescript" { isUnterminated?: boolean; >isUnterminated : boolean + + hasExtendedUnicodeEscape?: boolean; +>hasExtendedUnicodeEscape : boolean } interface StringLiteralExpression extends LiteralExpression { >StringLiteralExpression : StringLiteralExpression @@ -4750,6 +4753,9 @@ declare module "typescript" { getTokenValue(): string; >getTokenValue : () => string + hasExtendedUnicodeEscape(): boolean; +>hasExtendedUnicodeEscape : () => boolean + hasPrecedingLineBreak(): boolean; >hasPrecedingLineBreak : () => boolean diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings01_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings01_ES5.js index 889695a7716..e1e1a0ef705 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings01_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings01_ES5.js @@ -4,4 +4,4 @@ var x = "\u{0}"; //// [unicodeExtendedEscapesInStrings01_ES5.js] -var x = "\u{0}"; +var x = "\0"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings02_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings02_ES5.js index 5e9df9895f6..f20a321f766 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings02_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings02_ES5.js @@ -4,4 +4,4 @@ var x = "\u{00}"; //// [unicodeExtendedEscapesInStrings02_ES5.js] -var x = "\u{00}"; +var x = "\0"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings03_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings03_ES5.js index 38445f149a7..8ef0ae23371 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings03_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings03_ES5.js @@ -4,4 +4,4 @@ var x = "\u{0000}"; //// [unicodeExtendedEscapesInStrings03_ES5.js] -var x = "\u{0000}"; +var x = "\0"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings04_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings04_ES5.js index 16bd4a70981..15f91fdbc7e 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings04_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings04_ES5.js @@ -4,4 +4,4 @@ var x = "\u{00000000}"; //// [unicodeExtendedEscapesInStrings04_ES5.js] -var x = "\u{00000000}"; +var x = "\0"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings05_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings05_ES5.js index 6988fbb68a6..51638c85ef4 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings05_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings05_ES5.js @@ -4,4 +4,4 @@ var x = "\u{48}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{77}\u{6f}\u{72}\u{6c}\u{64}"; //// [unicodeExtendedEscapesInStrings05_ES5.js] -var x = "\u{48}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{77}\u{6f}\u{72}\u{6c}\u{64}"; +var x = "Hello world"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings06_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings06_ES5.js index f41ff81625a..229b04ca799 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings06_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings06_ES5.js @@ -8,4 +8,4 @@ var x = "\u{10FFFF}"; //// [unicodeExtendedEscapesInStrings06_ES5.js] // ES6 Spec - 10.1.1 Static Semantics: UTF16Encoding (cp) // 1. Assert: 0 ≤ cp ≤ 0x10FFFF. -var x = "\u{10FFFF}"; +var x = "\uDBFF\uDFFF"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings07_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings07_ES5.js index 48c3bd78bbe..12bb7974a1d 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings07_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings07_ES5.js @@ -8,4 +8,4 @@ var x = "\u{110000}"; //// [unicodeExtendedEscapesInStrings07_ES5.js] // ES6 Spec - 10.1.1 Static Semantics: UTF16Encoding (cp) // 1. Assert: 0 ≤ cp ≤ 0x10FFFF. -var x = "\u{110000}"; +var x = "}"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings08_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings08_ES5.js index aea5dec2e7d..5ad677c2da2 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings08_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings08_ES5.js @@ -10,4 +10,4 @@ var x = "\u{FFFF}"; // ES6 Spec - 10.1.1 Static Semantics: UTF16Encoding (cp) // 2. If cp ≤ 65535, return cp. // (FFFF == 65535) -var x = "\u{FFFF}"; +var x = "\uFFFF"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings09_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings09_ES5.js index 21d143d9a79..cebdd770262 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings09_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings09_ES5.js @@ -10,4 +10,4 @@ var x = "\u{10000}"; // ES6 Spec - 10.1.1 Static Semantics: UTF16Encoding (cp) // 2. If cp ≤ 65535, return cp. // (10000 == 65536) -var x = "\u{10000}"; +var x = "\uD800\uDC00"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings10_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings10_ES5.js index f323802d079..615ce361f0f 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings10_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings10_ES5.js @@ -12,4 +12,4 @@ var x = "\u{D800}"; // 2. Let cu1 be floor((cp – 65536) / 1024) + 0xD800. // Although we should just get back a single code point value of 0xD800, // this is a useful edge-case test. -var x = "\u{D800}"; +var x = "\uD800"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings11_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings11_ES5.js index d1140d966ed..144ae140d00 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings11_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings11_ES5.js @@ -12,4 +12,4 @@ var x = "\u{DC00}"; // 2. Let cu2 be ((cp – 65536) modulo 1024) + 0xDC00. // Although we should just get back a single code point value of 0xDC00, // this is a useful edge-case test. -var x = "\u{DC00}"; +var x = "\uDC00"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings12_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings12_ES5.js index edd1eb875a2..32da4410b42 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings12_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings12_ES5.js @@ -4,4 +4,4 @@ var x = "\u{FFFFFFFF}"; //// [unicodeExtendedEscapesInStrings12_ES5.js] -var x = "\u{FFFFFFFF}"; +var x = "}"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings13_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings13_ES5.js index 1469aa4aaae..2a54098d3c1 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings13_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings13_ES5.js @@ -4,4 +4,4 @@ var x = "\u{DDDDD}"; //// [unicodeExtendedEscapesInStrings13_ES5.js] -var x = "\u{DDDDD}"; +var x = "\uDB37\uDDDD"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings14_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings14_ES5.js index 037a176e7e7..592030c20aa 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings14_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings14_ES5.js @@ -6,4 +6,4 @@ var x = "\u{-DDDD}"; //// [unicodeExtendedEscapesInStrings14_ES5.js] // Shouldn't work, negatives are not allowed. -var x = "\u{-DDDD}"; +var x = "-DDDD}"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings15_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings15_ES5.js index be647bc543b..7811342a699 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings15_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings15_ES5.js @@ -4,4 +4,4 @@ var x = "\u{abcd}\u{ef12}\u{3456}\u{7890}"; //// [unicodeExtendedEscapesInStrings15_ES5.js] -var x = "\u{abcd}\u{ef12}\u{3456}\u{7890}"; +var x = "\uABCD\uEF12\u3456\u7890"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings16_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings16_ES5.js index fb5c33d814e..33bbcdbba3b 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings16_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings16_ES5.js @@ -4,4 +4,4 @@ var x = "\u{ABCD}\u{EF12}\u{3456}\u{7890}"; //// [unicodeExtendedEscapesInStrings16_ES5.js] -var x = "\u{ABCD}\u{EF12}\u{3456}\u{7890}"; +var x = "\uABCD\uEF12\u3456\u7890"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings17_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings17_ES5.js index 3ed04f82268..810c129dad1 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings17_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings17_ES5.js @@ -4,4 +4,4 @@ var x = "\u{r}\u{n}\u{t}"; //// [unicodeExtendedEscapesInStrings17_ES5.js] -var x = "\u{r}\u{n}\u{t}"; +var x = "r}n}t}"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings18_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings18_ES5.js index 8778b92afff..0eee224c307 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings18_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings18_ES5.js @@ -4,4 +4,4 @@ var x = "\u{65}\u{65}"; //// [unicodeExtendedEscapesInStrings18_ES5.js] -var x = "\u{65}\u{65}"; +var x = "ee"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings19_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings19_ES5.js index 5ca68cd2533..964dbe17b6c 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings19_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings19_ES5.js @@ -4,4 +4,4 @@ var x = "\u{}"; //// [unicodeExtendedEscapesInStrings19_ES5.js] -var x = "\u{}"; +var x = "}"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings20_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings20_ES5.js index 01d06586dd7..74e664ccb99 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings20_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings20_ES5.js @@ -4,4 +4,4 @@ var x = "\u{"; //// [unicodeExtendedEscapesInStrings20_ES5.js] -var x = "\u{"; +var x = ""; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings21_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings21_ES5.js index 7dfdd1c2dc4..baa3c2c101e 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings21_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings21_ES5.js @@ -4,4 +4,4 @@ var x = "\u{67"; //// [unicodeExtendedEscapesInStrings21_ES5.js] -var x = "\u{67"; +var x = "g"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings22_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings22_ES5.js index b65afc2df97..c3dcbe2e062 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings22_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings22_ES5.js @@ -4,4 +4,4 @@ var x = "\u{00000000000067"; //// [unicodeExtendedEscapesInStrings22_ES5.js] -var x = "\u{00000000000067"; +var x = "g"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings23_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings23_ES5.js index 2272be7150b..fd993a100a4 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings23_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings23_ES5.js @@ -4,4 +4,4 @@ var x = "\u{00000000000067}"; //// [unicodeExtendedEscapesInStrings23_ES5.js] -var x = "\u{00000000000067}"; +var x = "g"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings24_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings24_ES5.js index aaa63751846..acc9a9f9efa 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings24_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings24_ES5.js @@ -4,4 +4,4 @@ var x = "\u{00000000000067 //// [unicodeExtendedEscapesInStrings24_ES5.js] -var x = "\u{00000000000067; +var x = "g"; diff --git a/tests/baselines/reference/unicodeExtendedEscapesInStrings25_ES5.js b/tests/baselines/reference/unicodeExtendedEscapesInStrings25_ES5.js index 4bd5f065036..bc84bb42113 100644 --- a/tests/baselines/reference/unicodeExtendedEscapesInStrings25_ES5.js +++ b/tests/baselines/reference/unicodeExtendedEscapesInStrings25_ES5.js @@ -4,4 +4,4 @@ var x = "\u{00000000000067} //// [unicodeExtendedEscapesInStrings25_ES5.js] -var x = "\u{00000000000067}; +var x = "g";