diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/returns-primitive-values.js')
-rw-r--r-- | js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/returns-primitive-values.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/returns-primitive-values.js b/js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/returns-primitive-values.js new file mode 100644 index 0000000000..fe6e1ee585 --- /dev/null +++ b/js/src/tests/test262/built-ins/ShadowRealm/prototype/evaluate/returns-primitive-values.js @@ -0,0 +1,31 @@ +// |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.prototype.evaluate +description: > + ShadowRealm.prototype.evaluate returns primitive values +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(); + +assert.sameValue(r.evaluate('1 + 1'), 2); +assert.sameValue(r.evaluate('null'), null); +assert.sameValue(r.evaluate(''), undefined, 'undefined from empty completion'); +assert.sameValue(r.evaluate('undefined'), undefined); +assert.sameValue(r.evaluate('true'), true); +assert.sameValue(r.evaluate('false'), false); +assert.sameValue(r.evaluate('function fn() {}'), undefined, 'fn declaration has empty completion'); +assert.sameValue(r.evaluate('{}'), undefined, 'Block has empty completion'); +assert.sameValue(r.evaluate('-0'), -0); +assert.sameValue(r.evaluate('"str"'), 'str'); +assert(Number.isNaN(r.evaluate('NaN'))); + +reportCompare(0, 0); |