[Pkg-javascript-commits] [uglifyjs] 202/491: don't escape null characters as \0 when followed by any digit (#2273)
Jonas Smedegaard
dr at jones.dk
Wed Feb 14 19:51:35 UTC 2018
This is an automated email from the git hooks/post-receive script.
js pushed a commit to annotated tag debian/3.3.10-1
in repository uglifyjs.
commit 16d40915b480c38b9ef359223cd4f46146eb36c0
Author: Erik Desjardins <erikdesjardins at users.noreply.github.com>
Date: Mon Aug 14 00:30:08 2017 -0400
don't escape null characters as \0 when followed by any digit (#2273)
fixes #2272
---
lib/output.js | 2 +-
test/compress/ascii.js | 4 ++--
test/compress/concat-strings.js | 2 +-
test/mocha/string-literal.js | 10 +++++-----
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/lib/output.js b/lib/output.js
index 4c873f1..6f7b18d 100644
--- a/lib/output.js
+++ b/lib/output.js
@@ -146,7 +146,7 @@ function OutputStream(options) {
case "\u2029": return "\\u2029";
case "\ufeff": return "\\ufeff";
case "\0":
- return /[0-7]/.test(str.charAt(i+1)) ? "\\x00" : "\\0";
+ return /[0-9]/.test(str.charAt(i+1)) ? "\\x00" : "\\0";
}
return s;
});
diff --git a/test/compress/ascii.js b/test/compress/ascii.js
index 9662d41..3c7cc5c 100644
--- a/test/compress/ascii.js
+++ b/test/compress/ascii.js
@@ -13,7 +13,7 @@ ascii_only_true: {
"\x20\x21\x22\x23 ... \x7d\x7e\x7f\x80\x81 ... \xfe\xff\u0fff\uffff";
}
}
- expect_exact: 'function f(){return"\\x000\\x001\\x007\\08\\0"+"\\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\b\\t\\n\\v\\f\\r\\x0e\\x0f"+"\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f"+\' !"# ... }~\\x7f\\x80\\x81 ... \\xfe\\xff\\u0fff\\uffff\'}'
+ expect_exact: 'function f(){return"\\x000\\x001\\x007\\x008\\0"+"\\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\b\\t\\n\\v\\f\\r\\x0e\\x0f"+"\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f"+\' !"# ... }~\\x7f\\x80\\x81 ... \\xfe\\xff\\u0fff\\uffff\'}'
}
ascii_only_false: {
@@ -31,5 +31,5 @@ ascii_only_false: {
"\x20\x21\x22\x23 ... \x7d\x7e\x7f\x80\x81 ... \xfe\xff\u0fff\uffff";
}
}
- expect_exact: 'function f(){return"\\x000\\x001\\x007\\08\\0"+"\\0\x01\x02\x03\x04\x05\x06\x07\\b\\t\\n\\v\\f\\r\x0e\x0f"+"\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"+\' !"# ... }~\x7f\x80\x81 ... \xfe\xff\u0fff\uffff\'}'
+ expect_exact: 'function f(){return"\\x000\\x001\\x007\\x008\\0"+"\\0\x01\x02\x03\x04\x05\x06\x07\\b\\t\\n\\v\\f\\r\x0e\x0f"+"\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"+\' !"# ... }~\x7f\x80\x81 ... \xfe\xff\u0fff\uffff\'}'
}
diff --git a/test/compress/concat-strings.js b/test/compress/concat-strings.js
index 867951f..c7c07ca 100644
--- a/test/compress/concat-strings.js
+++ b/test/compress/concat-strings.js
@@ -21,7 +21,7 @@ concat_1: {
var c = 1 + x() + 2 + "boo";
var d = 1 + x() + 2 + 3 + "boo";
var e = 1 + x() + 2 + "X3boo";
- var f = "\x00360\08\0";
+ var f = "\x00360\x008\0";
}
}
diff --git a/test/mocha/string-literal.js b/test/mocha/string-literal.js
index d2eb6a8..f595f29 100644
--- a/test/mocha/string-literal.js
+++ b/test/mocha/string-literal.js
@@ -61,9 +61,9 @@ describe("String literals", function() {
var tests = [
['"\\76";', ';">";'],
['"\\0"', '"\\0";'],
- ['"\\08"', '"\\08";'],
- ['"\\008"', '"\\08";'],
- ['"\\0008"', '"\\08";'],
+ ['"\\08"', '"\\x008";'],
+ ['"\\008"', '"\\x008";'],
+ ['"\\0008"', '"\\x008";'],
['"use strict" === "use strict";\n"\\76";', '"use strict"==="use strict";">";'],
['"use\\\n strict";\n"\\07";', ';"use strict";"\07";']
];
@@ -75,8 +75,8 @@ describe("String literals", function() {
});
it("Should not throw error when digit is 8 or 9", function() {
- assert.equal(UglifyJS.parse('"use strict";"\\08"').print_to_string(), '"use strict";"\\08";');
- assert.equal(UglifyJS.parse('"use strict";"\\09"').print_to_string(), '"use strict";"\\09";');
+ assert.equal(UglifyJS.parse('"use strict";"\\08"').print_to_string(), '"use strict";"\\x008";');
+ assert.equal(UglifyJS.parse('"use strict";"\\09"').print_to_string(), '"use strict";"\\x009";');
});
it("Should not unescape unpaired surrogates", function() {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/uglifyjs.git
More information about the Pkg-javascript-commits
mailing list