Only last parameter between parentheses can have spread
This commit is contained in:
committed by
Richard van Velzen
parent
f9cab7ad61
commit
6b03b800b3
25
test/mocha/arrow.js
Normal file
25
test/mocha/arrow.js
Normal file
@@ -0,0 +1,25 @@
|
||||
var assert = require("assert");
|
||||
var uglify = require("../../");
|
||||
|
||||
describe("Arrow functions", function() {
|
||||
it("Should not accept spread tokens on non-last parameters or without arguments parentheses", function() {
|
||||
var tests = [
|
||||
"var a = ...a => {return a.join()}",
|
||||
"var b = (a, ...b, c) => { return a + b.join() + c}",
|
||||
"var c = (...a, b) => a.join()"
|
||||
];
|
||||
var test = function(code) {
|
||||
return function() {
|
||||
uglify.parse(code, {fromString: true});
|
||||
}
|
||||
}
|
||||
var error = function(e) {
|
||||
return e instanceof uglify.JS_Parse_Error &&
|
||||
e.message === "Unexpected token: expand (...)";
|
||||
}
|
||||
|
||||
for (var i = 0; i < tests.length; i++) {
|
||||
assert.throws(test(tests[i]), error);
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user