32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
var assert = require("assert");
|
|
var UglifyJS = require("../node");
|
|
|
|
describe("Number literals", function() {
|
|
it("Should allow legacy octal literals in non-strict mode", function() {
|
|
[
|
|
"'use strict'\n.slice()\n00",
|
|
'"use strict"\n.slice()\nvar foo = 00',
|
|
].forEach(function(input) {
|
|
UglifyJS.parse(input);
|
|
});
|
|
});
|
|
it("Should not allow legacy octal literals in strict mode", function() {
|
|
var inputs = [
|
|
'"use strict";00;',
|
|
'"use strict"; var foo = 00;',
|
|
];
|
|
var test = function(input) {
|
|
return function() {
|
|
UglifyJS.parse(input);
|
|
}
|
|
};
|
|
var error = function(e) {
|
|
return e instanceof UglifyJS.JS_Parse_Error
|
|
&& e.message === "Legacy octal literals are not allowed in strict mode";
|
|
};
|
|
for (var i = 0; i < inputs.length; i++) {
|
|
assert.throws(test(inputs[i]), error, inputs[i]);
|
|
}
|
|
});
|
|
});
|