aboutsummaryrefslogtreecommitdiff
path: root/test/mocha/with.js
diff options
context:
space:
mode:
authorAnthony Van de Gejuchte <anthonyvdgent@gmail.com>2016-07-04 00:51:09 +0200
committerAnthony Van de Gejuchte <anthonyvdgent@gmail.com>2016-07-04 00:51:09 +0200
commit2650182f47883aaaeddd731fffa0c4940d94cc36 (patch)
treeca9e08cac1c0c5ee10a8714501cca93d49ecef62 /test/mocha/with.js
parent572b97b0bb48285497ffbffed9420468e1700956 (diff)
downloadtracifyjs-2650182f47883aaaeddd731fffa0c4940d94cc36.tar.gz
tracifyjs-2650182f47883aaaeddd731fffa0c4940d94cc36.zip
Backport mocha with test from harmony
Diffstat (limited to 'test/mocha/with.js')
-rw-r--r--test/mocha/with.js11
1 files changed, 9 insertions, 2 deletions
diff --git a/test/mocha/with.js b/test/mocha/with.js
index 2e758d1e..734e1e13 100644
--- a/test/mocha/with.js
+++ b/test/mocha/with.js
@@ -2,7 +2,7 @@ var assert = require("assert");
var uglify = require("../../");
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 test = function() {
uglify.parse(code);
@@ -13,4 +13,11 @@ describe("With", function() {
}
assert.throws(test, error);
});
-}); \ No newline at end of file
+ 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);
+ });
+});