Backport mocha with test from harmony
This commit is contained in:
@@ -2,7 +2,7 @@ var assert = require("assert");
|
|||||||
var uglify = require("../../");
|
var uglify = require("../../");
|
||||||
|
|
||||||
describe("With", function() {
|
describe("With", function() {
|
||||||
it ("Should throw syntaxError when using with statement in strict mode", function() {
|
it("Should throw syntaxError when using with statement in strict mode", function() {
|
||||||
var code = '"use strict";\nthrow NotEarlyError;\nwith ({}) { }';
|
var code = '"use strict";\nthrow NotEarlyError;\nwith ({}) { }';
|
||||||
var test = function() {
|
var test = function() {
|
||||||
uglify.parse(code);
|
uglify.parse(code);
|
||||||
@@ -13,4 +13,11 @@ describe("With", function() {
|
|||||||
}
|
}
|
||||||
assert.throws(test, error);
|
assert.throws(test, error);
|
||||||
});
|
});
|
||||||
|
it("Should set uses_with for scopes involving With statements", function() {
|
||||||
|
var ast = uglify.parse("with(e) {f(1, 2)}");
|
||||||
|
ast.figure_out_scope();
|
||||||
|
assert.equal(ast.uses_with, true);
|
||||||
|
assert.equal(ast.body[0].expression.scope.uses_with, true);
|
||||||
|
assert.equal(ast.body[0].body.body[0].body.expression.scope.uses_with, true);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user