1234567891011121314151617181920212223242526272829303132333435 |
- /* eslint no-restricted-syntax: 0, no-with: 0, strict: 0 */
- var test = require('tape');
- var shimUnscopables = require('../');
- test('`with` statement', { skip: typeof Symbol !== 'function' || !Symbol.unscopables }, function (t) {
- var entries;
- var concat;
- with ([]) {
- t.equal(concat, Array.prototype.concat, 'concat is dynamically bound');
- t.notEqual(entries, Array.prototype.entries, 'entries is not dynamically bound');
- }
- var obj = {
- foo: 1,
- bar: 2
- };
- var foo;
- var bar;
- obj[Symbol.unscopables] = { foo: true };
- with (obj) {
- t.equal(foo, undefined);
- t.equal(bar, obj.bar);
- }
- shimUnscopables('concat');
- with ([]) {
- t.notEqual(concat, Array.prototype.concat, 'concat is no longer dynamically bound');
- t.notEqual(entries, Array.prototype.entries, 'entries is still not dynamically bound');
- }
- t.end();
- });
|