summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/lexical-environment/unscopables-global.js
blob: 1aa4a52bda8354af0bdb986cfb231b8dbf38438f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// @@unscopables does not affect the global environment.

this.x = "global property x";
let y = "global lexical y";
this[Symbol.unscopables] = {x: true, y: true};
assertEq(x, "global property x");
assertEq(y, "global lexical y");
assertEq(eval("x"), "global property x");
assertEq(eval("y"), "global lexical y");

// But it does affect `with` statements targeting the global object.
{
    let x = "local x";
    with (this)
        assertEq(x, "local x");
}

reportCompare(0, 0);