diff options
Diffstat (limited to 'js/src/tests/ecma_6/LexicalEnvironment/unscopables-global.js')
-rw-r--r-- | js/src/tests/ecma_6/LexicalEnvironment/unscopables-global.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-global.js b/js/src/tests/ecma_6/LexicalEnvironment/unscopables-global.js new file mode 100644 index 000000000..1aa4a52bd --- /dev/null +++ b/js/src/tests/ecma_6/LexicalEnvironment/unscopables-global.js @@ -0,0 +1,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); |