blob: bdade1f113a4779c57ea232ec7cb3ef9583d90e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// @@unscopables continues to work after exiting the relevant `with` block,
// if the environment is captured by a closure.
let env = {
x: 9000,
[Symbol.unscopables]: {x: true}
};
function make_adder(x) {
with (env)
return function (y) { return x + y; };
}
assertEq(make_adder(3)(10), 13);
// Same test, but with a bunch of different parts for bad luck
let x = 500;
function make_adder_with_eval() {
with (env)
return eval('y => eval("x + y")');
}
assertEq(make_adder_with_eval()(10), 510);
reportCompare(0, 0);
|