diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/ShadowRealm/instance.js')
-rw-r--r-- | js/src/tests/test262/built-ins/ShadowRealm/instance.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/ShadowRealm/instance.js b/js/src/tests/test262/built-ins/ShadowRealm/instance.js new file mode 100644 index 0000000000..41e1783e00 --- /dev/null +++ b/js/src/tests/test262/built-ins/ShadowRealm/instance.js @@ -0,0 +1,36 @@ +// |reftest| shell-option(--enable-shadow-realms) skip-if(!xulRuntime.shell) -- requires shell-options +// Copyright (C) 2021 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-shadowrealm-constructor +description: > + new ShadowRealm() returns a shadow realm instance +info: | + ShadowRealm ( ) + + ... + 2. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%ShadowRealm.prototype%", + « [[ShadowRealm]], [[ExecutionContext]] »). + ... + 13. Return O. +features: [ShadowRealm] +---*/ +assert.sameValue( + typeof ShadowRealm, + 'function', + 'This test must fail if ShadowRealm is not a function' +); + +var realm = new ShadowRealm(); + +assert(realm instanceof ShadowRealm); +assert.sameValue( + Object.getPrototypeOf(realm), + ShadowRealm.prototype, + '[[Prototype]] is set to %ShadowRealm.prototype%' +); + +var otherRealm = new ShadowRealm(); +assert.notSameValue(realm, otherRealm, 'each instance is different'); + +reportCompare(0, 0); |