fix parser tests

update exception messages
This commit is contained in:
alexlamsl
2017-02-28 03:58:01 +08:00
parent a0eaff750d
commit a942dc07c4
12 changed files with 30 additions and 31 deletions

View File

@@ -15,7 +15,7 @@ describe("Arrow functions", function() {
} }
var error = function(e) { var error = function(e) {
return e instanceof uglify.JS_Parse_Error && return e instanceof uglify.JS_Parse_Error &&
e.message === "SyntaxError: Unexpected token: expand (...)"; e.message === "Unexpected token: expand (...)";
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {
@@ -33,7 +33,7 @@ describe("Arrow functions", function() {
} }
var error = function(e) { var error = function(e) {
return e instanceof uglify.JS_Parse_Error && return e instanceof uglify.JS_Parse_Error &&
e.message === "SyntaxError: Unexpected token: punc (,)"; e.message === "Unexpected token: punc (,)";
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {
@@ -54,7 +54,7 @@ describe("Arrow functions", function() {
} }
var error = function(e) { var error = function(e) {
return e instanceof uglify.JS_Parse_Error && return e instanceof uglify.JS_Parse_Error &&
e.message === "SyntaxError: Unexpected newline before arrow (=>)"; e.message === "Unexpected newline before arrow (=>)";
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {
@@ -73,7 +73,7 @@ describe("Arrow functions", function() {
} }
var error = function(e) { var error = function(e) {
return e instanceof uglify.JS_Parse_Error && return e instanceof uglify.JS_Parse_Error &&
e.message === "SyntaxError: Unexpected token: arrow (=>)"; e.message === "Unexpected token: arrow (=>)";
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {

View File

@@ -16,7 +16,7 @@ describe("Class", function() {
} }
var error = function(e) { var error = function(e) {
return e instanceof uglify.JS_Parse_Error && return e instanceof uglify.JS_Parse_Error &&
e.message.substr(0, 31) === "SyntaxError: Unexpected token: "; /^Unexpected token: /.test(e.message);
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {

View File

@@ -4,8 +4,7 @@ var uglify = require("../../");
describe("EOF", function() { describe("EOF", function() {
it("Should test code for at least throwing syntax error when incomplete", function() { it("Should test code for at least throwing syntax error when incomplete", function() {
var error = function(e) { var error = function(e) {
return e instanceof uglify.JS_Parse_Error && return e instanceof uglify.JS_Parse_Error;
/^SyntaxError: /.test(e.message);
} }
var parse = function(test) { var parse = function(test) {
return function() { return function() {

View File

@@ -16,7 +16,7 @@ describe("Expression", function() {
var fail = function(e) { var fail = function(e) {
return e instanceof uglify.JS_Parse_Error && return e instanceof uglify.JS_Parse_Error &&
/^SyntaxError: Unexpected token: operator \((?:[!+~-]|void|typeof|delete)\)/.test(e.message); /^Unexpected token: operator \((?:[!+~-]|void|typeof|delete)\)/.test(e.message);
} }
var exec = function(test) { var exec = function(test) {

View File

@@ -177,7 +177,7 @@ describe("Function", function() {
} }
var error = function(e) { var error = function(e) {
return e instanceof uglify.JS_Parse_Error && return e instanceof uglify.JS_Parse_Error &&
e.message.substr(0, 31) === "SyntaxError: Unexpected token: "; /^Unexpected token: /.test(e.message);
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {
@@ -196,7 +196,7 @@ describe("Function", function() {
} }
var error = function(e) { var error = function(e) {
return e instanceof uglify.JS_Parse_Error && return e instanceof uglify.JS_Parse_Error &&
e.message === "SyntaxError: Invalid function parameter"; e.message === "Invalid function parameter";
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {
assert.throws(test(tests[i]), error); assert.throws(test(tests[i]), error);
@@ -243,7 +243,7 @@ describe("Function", function() {
} }
var error = function (e) { var error = function (e) {
return e instanceof uglify.JS_Parse_Error && return e instanceof uglify.JS_Parse_Error &&
/^SyntaxError: Parameter [a-zA-Z]+ was used already$/.test(e.message); /^Parameter [a-zA-Z]+ was used already$/.test(e.message);
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {
assert.throws(test(tests[i]), error, tests[i]); assert.throws(test(tests[i]), error, tests[i]);

View File

@@ -71,7 +71,7 @@ describe("Getters and setters", function() {
var fail = function(data) { var fail = function(data) {
return function (e) { return function (e) {
return e instanceof UglifyJS.JS_Parse_Error && return e instanceof UglifyJS.JS_Parse_Error &&
e.message === "Invalid getter/setter name: " + data.operator; /^Unexpected token: /.test(e.message);
}; };
}; };

View File

@@ -248,18 +248,18 @@ describe("Left-hand side expressions", function () {
} }
// Spreads are not allowed in destructuring array if it's not the last element // Spreads are not allowed in destructuring array if it's not the last element
expect("[...a, ...b] = [1, 2, 3, 4]", "SyntaxError: Spread must the be last element in destructuring array"); expect("[...a, ...b] = [1, 2, 3, 4]", "Spread must the be last element in destructuring array");
// Multiple spreads are not allowed in destructuring array // Multiple spreads are not allowed in destructuring array
expect("[...a, ...b] = [1, 2, 3, 4]", "SyntaxError: Spread must the be last element in destructuring array"); expect("[...a, ...b] = [1, 2, 3, 4]", "Spread must the be last element in destructuring array");
// Spread in obvious object pattern // Spread in obvious object pattern
expect("({...a} = foo)", "SyntaxError: Unexpected token: expand (...)"); expect("({...a} = foo)", "Unexpected token: expand (...)");
// Spread in block should not be allowed // Spread in block should not be allowed
expect("{...a} = foo", "SyntaxError: Unexpected token: expand (...)"); expect("{...a} = foo", "Unexpected token: expand (...)");
// Not in standard yet // Not in standard yet
expect("let foo = {bar: 42}, bar; bar = {...foo}", "SyntaxError: Unexpected token: expand (...)"); expect("let foo = {bar: 42}, bar; bar = {...foo}", "Unexpected token: expand (...)");
}); });
}); });

View File

@@ -89,7 +89,7 @@ describe("New", function() {
it("Should check target in new.target", function() { it("Should check target in new.target", function() {
assert.throws(function() {uglify.parse("new.blah")}, function(e) { assert.throws(function() {uglify.parse("new.blah")}, function(e) {
return e instanceof uglify.JS_Parse_Error return e instanceof uglify.JS_Parse_Error
&& e.message === "SyntaxError: Unexpected token name «blah», expected name «target»"; && e.message === "Unexpected token name «blah», expected name «target»";
}); });
}); });
}); });

View File

@@ -107,9 +107,9 @@ describe("Object", function() {
var fail = function(data) { var fail = function(data) {
return function (e) { return function (e) {
return e instanceof Uglify.JS_Parse_Error && ( return e instanceof Uglify.JS_Parse_Error && (
e.message === "SyntaxError: Unexpected token: operator (" + data.operator + ")" || e.message === "Unexpected token: operator (" + data.operator + ")" ||
(e.message === "SyntaxError: Unterminated regular expression" && data.operator[0] === "/") || (e.message === "Unterminated regular expression" && data.operator[0] === "/") ||
(e.message === "SyntaxError: Unexpected token: punc (()" && data.operator === "*") (e.message === "Unexpected token: punc (()" && data.operator === "*")
); );
}; };
}; };

View File

@@ -23,7 +23,7 @@ describe("Template string", function() {
var fail = function(e) { var fail = function(e) {
return e instanceof uglify.JS_Parse_Error return e instanceof uglify.JS_Parse_Error
&& /^SyntaxError: Unexpected token: /.test(e.message); && /^Unexpected token: /.test(e.message);
}; };
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {

View File

@@ -17,7 +17,7 @@ describe("Unicode", function() {
var fail = function(e) { var fail = function(e) {
return e instanceof uglify.JS_Parse_Error return e instanceof uglify.JS_Parse_Error
&& e.message === "SyntaxError: Unicode reference out of bounce"; && e.message === "Unicode reference out of bounce";
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {
@@ -40,7 +40,7 @@ describe("Unicode", function() {
var fail = function(e) { var fail = function(e) {
return e instanceof uglify.JS_Parse_Error return e instanceof uglify.JS_Parse_Error
&& e.message === "SyntaxError: Invalid hex-character pattern in string"; && e.message === "Invalid hex-character pattern in string";
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {
@@ -67,7 +67,7 @@ describe("Unicode", function() {
var fail = function(e) { var fail = function(e) {
return e instanceof uglify.JS_Parse_Error return e instanceof uglify.JS_Parse_Error
&& e.message === "SyntaxError: First identifier char is an invalid identifier char"; && e.message === "First identifier char is an invalid identifier char";
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {
@@ -90,7 +90,7 @@ describe("Unicode", function() {
var fail = function(e) { var fail = function(e) {
return e instanceof uglify.JS_Parse_Error return e instanceof uglify.JS_Parse_Error
&& e.message === "SyntaxError: Invalid escaped identifier char"; && e.message === "Invalid escaped identifier char";
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {
@@ -115,7 +115,7 @@ describe("Unicode", function() {
var fail = function(e) { var fail = function(e) {
return e instanceof uglify.JS_Parse_Error return e instanceof uglify.JS_Parse_Error
&& e.message === "SyntaxError: Escaped characters are not allowed in keywords"; && e.message === "Escaped characters are not allowed in keywords";
} }
for (var i = 0; i < tests.length; i++) { for (var i = 0; i < tests.length; i++) {

View File

@@ -15,7 +15,7 @@ describe("Yield", function() {
} }
var expect = function(e) { var expect = function(e) {
return e instanceof UglifyJS.JS_Parse_Error && return e instanceof UglifyJS.JS_Parse_Error &&
e.message === "SyntaxError: Yield cannot be used as label inside generators"; e.message === "Yield cannot be used as label inside generators";
} }
assert.throws(test, expect); assert.throws(test, expect);
}); });
@@ -27,7 +27,7 @@ describe("Yield", function() {
} }
var expect = function(e) { var expect = function(e) {
return e instanceof UglifyJS.JS_Parse_Error && return e instanceof UglifyJS.JS_Parse_Error &&
e.message === "SyntaxError: Unexpected token: punc (;)"; e.message === "Unexpected token: punc (;)";
} }
assert.throws(test, expect); assert.throws(test, expect);
}); });
@@ -39,7 +39,7 @@ describe("Yield", function() {
} }
var expect = function(e) { var expect = function(e) {
return e instanceof UglifyJS.JS_Parse_Error && return e instanceof UglifyJS.JS_Parse_Error &&
e.message === "SyntaxError: Unexpected token: operator (*)"; e.message === "Unexpected token: operator (*)";
} }
assert.throws(test, expect); assert.throws(test, expect);
}); });
@@ -90,7 +90,7 @@ describe("Yield", function() {
var fail = function(e) { var fail = function(e) {
return e instanceof UglifyJS.JS_Parse_Error && return e instanceof UglifyJS.JS_Parse_Error &&
/SyntaxError: Unexpected yield identifier (?:as parameter )?inside strict mode/.test(e.message); /^Unexpected yield identifier (?:as parameter )?inside strict mode/.test(e.message);
} }
var test = function(input) { var test = function(input) {