Various LineTerminator changes

* Escaped newlines should also produce SyntaxError
* Fix multiline comment parsing and add tests
* Adapt makePredicate to handle \u2028 and \u2029
* Move up nlb check in regex so it's checked before any escape handling
* Change error messages to conform ecma standard
* Find_eol not recornizing \u2028 and \u2029 as line terminator
* Remove \u180e as it is removed in unicode 6.3.0 from the category zs
This commit is contained in:
Anthony Van de Gejuchte
2016-06-13 12:36:47 +02:00
parent 02c638209e
commit a97690fc72
5 changed files with 87 additions and 30 deletions

View File

@@ -37,6 +37,10 @@ describe("line-endings", function() {
"/\r/",
"/\u2028/",
"/\u2029/",
"/\\\n/",
"/\\\r/",
"/\\\u2028/",
"/\\\u2029/",
"/someRandomTextLike[]()*AndThen\n/"
]
var test = function(input) {
@@ -46,7 +50,7 @@ describe("line-endings", function() {
}
var fail = function(e) {
return e instanceof Uglify.JS_Parse_Error &&
e.message === "Unexpected line terminator";
e.message === "SyntaxError: Unexpected line terminator";
}
for (var i = 0; i < inputs.length; i++) {
assert.throws(test(inputs[i]), fail);