mirror of https://github.com/tc39/test262.git
Merge pull request #3210 from tc39/rwaldron/shadowrealm-fixups
ShadowRealm: improved existing and additional coverage
This commit is contained in:
commit
94500e1de9
|
@ -7,6 +7,12 @@ description: >
|
|||
features: [ShadowRealm]
|
||||
---*/
|
||||
|
||||
assert.sameValue(
|
||||
typeof ShadowRealm.prototype.evaluate,
|
||||
'function',
|
||||
'This test must fail if ShadowRealm.prototype.evaluate is not a function'
|
||||
);
|
||||
|
||||
globalThis.myValue = 'a';
|
||||
const realm1 = new ShadowRealm();
|
||||
|
||||
|
|
25
test/built-ins/ShadowRealm/prototype/evaluate/returns-proxy-callable-object.js
vendored
Normal file
25
test/built-ins/ShadowRealm/prototype/evaluate/returns-proxy-callable-object.js
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
// Copyright (C) 2021 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-shadowrealm.prototype.evaluate
|
||||
description: >
|
||||
ShadowRealm.prototype.evaluate wrapped proxy callable object.
|
||||
features: [ShadowRealm]
|
||||
---*/
|
||||
|
||||
assert.sameValue(
|
||||
typeof ShadowRealm.prototype.evaluate,
|
||||
'function',
|
||||
'This test must fail if ShadowRealm.prototype.evaluate is not a function'
|
||||
);
|
||||
|
||||
const r = new ShadowRealm();
|
||||
|
||||
const proxyCallable = r.evaluate(`
|
||||
function fn() { return 42; }
|
||||
new Proxy(fn, {});
|
||||
`);
|
||||
|
||||
assert.sameValue(typeof proxyCallable, 'function', 'wrapped proxy callable object is typeof function');
|
||||
assert.sameValue(proxyCallable(), 42, 'wrappedpfn() returns 42');
|
||||
assert.sameValue(proxyCallable instanceof Proxy, false, 'the wrapped function "hides" the proxy instance');
|
|
@ -6,6 +6,11 @@ description: >
|
|||
ShadowRealm can wrap a function to multiple nested realms.
|
||||
features: [ShadowRealm]
|
||||
---*/
|
||||
assert.sameValue(
|
||||
typeof ShadowRealm.prototype.evaluate,
|
||||
'function',
|
||||
'This test must fail if ShadowRealm.prototype.evaluate is not a function'
|
||||
);
|
||||
|
||||
globalThis.count = 0;
|
||||
const realm1 = new ShadowRealm();
|
||||
|
|
Loading…
Reference in New Issue