Some checks failed
CI / go (push) Waiting to run
CI / docker (push) Waiting to run
CI / lint-go (push) Waiting to run
CI / lint-docs (push) Waiting to run
CI / check-paperclip (push) Waiting to run
Deploy static site / Deploy to GitHub Pages (push) Has been cancelled
Deploy static site / Deploy via Docker to hatch.surf (push) Has been cancelled
Resolved conflicts by taking GitHub versions for: - .dockerignore, .gitignore, Dockerfile, README.md, docker-compose.yml Kept deploy.sh updated to: - Pull from GitHub (primary source) - Push to Gitea (push-mirror) - Build from site/ directory (GitHub structure) Co-Authored-By: Paperclip <noreply@paperclip.ing>
44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
/* 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) {
|
|
// @ts-expect-error this variable is declared in case unscopables doesn't work
|
|
var entries;
|
|
// @ts-expect-error this variable is declared in case unscopables doesn't work
|
|
var concat;
|
|
// @ts-expect-error `with` unsupported
|
|
with ([]) {
|
|
t.equal(concat, Array.prototype.concat, 'concat is dynamically bound');
|
|
t.notEqual(entries, Array.prototype.entries, 'entries is not dynamically bound');
|
|
}
|
|
|
|
/** @type {Record<PropertyKey, unknown>} */
|
|
var obj = {
|
|
foo: 1,
|
|
bar: 2
|
|
};
|
|
// @ts-expect-error this variable is declared in case unscopables doesn't work
|
|
var foo;
|
|
// @ts-expect-error this variable is declared in case unscopables doesn't work
|
|
var bar;
|
|
obj[Symbol.unscopables] = { foo: true };
|
|
// @ts-expect-error `with` unsupported
|
|
with (obj) {
|
|
t.equal(foo, undefined);
|
|
t.equal(bar, obj.bar);
|
|
}
|
|
|
|
shimUnscopables('concat');
|
|
|
|
// @ts-expect-error `with` unsupported
|
|
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();
|
|
});
|