diff options
Diffstat (limited to 'deps/v8/test/mjsunit/harmony/shadowrealm-evaluate.js')
-rw-r--r-- | deps/v8/test/mjsunit/harmony/shadowrealm-evaluate.js | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/deps/v8/test/mjsunit/harmony/shadowrealm-evaluate.js b/deps/v8/test/mjsunit/harmony/shadowrealm-evaluate.js index cabad58e7e..8288963428 100644 --- a/deps/v8/test/mjsunit/harmony/shadowrealm-evaluate.js +++ b/deps/v8/test/mjsunit/harmony/shadowrealm-evaluate.js @@ -59,4 +59,23 @@ assertThrows(() => shadowRealm.evaluate(` var revocable = Proxy.revocable(() => 1, {}); revocable.revoke(); revocable.proxy; -`), TypeError, "Cannot wrap target callable"); +`), TypeError, "Cannot wrap target callable (TypeError: Cannot perform 'getOwnPropertyDescriptor' on a proxy that has been revoked)"); + +// no-side-effects inspection on thrown error +assertThrows(() => shadowRealm.evaluate(` +throw new Error('foo'); +`), TypeError, "ShadowRealm evaluate threw (Error: foo)"); + +// no-side-effects inspection on thrown error +assertThrows(() => shadowRealm.evaluate(` +globalThis.messageAccessed = false; +const err = new Error('foo'); +Object.defineProperty(err, 'message', { + get: function() { + globalThis.messageAccessed = true; + return 'bar'; + }, +}); +throw err; +`), TypeError, "ShadowRealm evaluate threw (Error)"); +assertFalse(shadowRealm.evaluate('globalThis.messageAccessed')); |