Skip to content

Commit d43e2e0

Browse files
Fixed character escaping for characters with values below 0x20 and '9'.
1 parent 909c367 commit d43e2e0

7 files changed

+8
-8
lines changed

src/compiler/core.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,7 @@ module ts {
607607
}
608608

609609
var backslashOrDoubleQuote = /[\"\\]/g;
610-
var escapedCharsRegExp = /[\0-\19\t\v\f\b\0\r\n\u2028\u2029\u0085]/g;
610+
var escapedCharsRegExp = /[\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;
611611
var escapedCharsMap: Map<string> = {
612612
"\0": "\\0",
613613
"\t": "\\t",
@@ -624,7 +624,7 @@ module ts {
624624
};
625625

626626
/**
627-
* Based heavily on the abstract 'Quote' operation from ECMA-262 (24.3.2.2),
627+
* Based heavily on the abstract 'Quote'/ 'QuoteJSONString' operation from ECMA-262 (24.3.2.2),
628628
* but augmented for a few select characters.
629629
* Note that this doesn't actually wrap the input in double quotes.
630630
*/

tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ function f() {
1414
x[_i - 0] = arguments[_i];
1515
}
1616
}
17-
f "0 1 2 3 4 5 6 7 8 \u0039 10 11 12 13 14 15 16 17 18 1\u0039 20 2028 202\u0039 0085 t v f b r n";
17+
f "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2028 2029 0085 t v f b r n";

tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
`0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " " }9${ " " }10${ " " }11${ " " }12${ " " }13${ " " }14${ " " }15${ " " }16${ " " }17${ " " }18${ " " }19${ " " }20${ " " }2028${ " " }2029${ " " }0085${ " " }t${ " " }v${ " " }f${ " " }b${ " " }r${ " " }n`
55

66
//// [taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02.js]
7-
"0" + " " + "1" + " " + "2" + " " + "3" + " " + "4" + " " + "5" + " " + "6" + " " + "7" + " " + "8" + " " + "\u0039" + " " + "10" + " " + "11" + " " + "12" + " " + "13" + " " + "14" + " " + "15" + " " + "16" + " " + "17" + " " + "18" + " " + "1\u0039" + " " + "20" + " " + "2028" + " " + "202\u0039" + " " + "0085" + " " + "t" + " " + "v" + " " + "f" + " " + "b" + " " + "r" + " " + "n";
7+
"0" + " " + "1" + " " + "2" + " " + "3" + " " + "4" + " " + "5" + " " + "6" + " " + "7" + " " + "8" + " " + "9" + " " + "10" + " " + "11" + " " + "12" + " " + "13" + " " + "14" + " " + "15" + " " + "16" + " " + "17" + " " + "18" + " " + "19" + " " + "20" + " " + "2028" + " " + "2029" + " " + "0085" + " " + "t" + " " + "v" + " " + "f" + " " + "b" + " " + "r" + " " + "n";

tests/baselines/reference/templateStringControlCharacterEscapes02.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
var x = `\x19\u0019 19`;
55

66
//// [templateStringControlCharacterEscapes02.js]
7-
var x = " 1\u0039";
7+
var x = "\u0019\u0019 19";

tests/baselines/reference/templateStringControlCharacterEscapes03.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
var x = `\x1F\u001f 1F 1f`;
55

66
//// [templateStringControlCharacterEscapes03.js]
7-
var x = " 1F 1f";
7+
var x = "\u001f\u001f 1F 1f";

tests/baselines/reference/templateStringPlainCharactersThatArePartsOfEscapes01.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
`0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2028 2029 0085 t v f b r n`
44

55
//// [templateStringPlainCharactersThatArePartsOfEscapes01.js]
6-
"0 1 2 3 4 5 6 7 8 \u0039 10 11 12 13 14 15 16 17 18 1\u0039 20 2028 202\u0039 0085 t v f b r n";
6+
"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2028 2029 0085 t v f b r n";

tests/baselines/reference/templateStringPlainCharactersThatArePartsOfEscapes02.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
`0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " " }9${ " " }10${ " " }11${ " " }12${ " " }13${ " " }14${ " " }15${ " " }16${ " " }17${ " " }18${ " " }19${ " " }20${ " " }2028${ " " }2029${ " " }0085${ " " }t${ " " }v${ " " }f${ " " }b${ " " }r${ " " }n`
55

66
//// [templateStringPlainCharactersThatArePartsOfEscapes02.js]
7-
"0" + " " + "1" + " " + "2" + " " + "3" + " " + "4" + " " + "5" + " " + "6" + " " + "7" + " " + "8" + " " + "\u0039" + " " + "10" + " " + "11" + " " + "12" + " " + "13" + " " + "14" + " " + "15" + " " + "16" + " " + "17" + " " + "18" + " " + "1\u0039" + " " + "20" + " " + "2028" + " " + "202\u0039" + " " + "0085" + " " + "t" + " " + "v" + " " + "f" + " " + "b" + " " + "r" + " " + "n";
7+
"0" + " " + "1" + " " + "2" + " " + "3" + " " + "4" + " " + "5" + " " + "6" + " " + "7" + " " + "8" + " " + "9" + " " + "10" + " " + "11" + " " + "12" + " " + "13" + " " + "14" + " " + "15" + " " + "16" + " " + "17" + " " + "18" + " " + "19" + " " + "20" + " " + "2028" + " " + "2029" + " " + "0085" + " " + "t" + " " + "v" + " " + "f" + " " + "b" + " " + "r" + " " + "n";

0 commit comments

Comments
 (0)