From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../revocation-function-not-a-constructor.js | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 js/src/tests/test262/built-ins/Proxy/revocable/revocation-function-not-a-constructor.js (limited to 'js/src/tests/test262/built-ins/Proxy/revocable/revocation-function-not-a-constructor.js') diff --git a/js/src/tests/test262/built-ins/Proxy/revocable/revocation-function-not-a-constructor.js b/js/src/tests/test262/built-ins/Proxy/revocable/revocation-function-not-a-constructor.js new file mode 100644 index 0000000000..643c7e57c2 --- /dev/null +++ b/js/src/tests/test262/built-ins/Proxy/revocable/revocation-function-not-a-constructor.js @@ -0,0 +1,30 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-proxy.revocable +description: Proxy Revocation functions are not constructors +info: | + 17 ECMAScript Standard Built-in Objects: + Built-in function objects that are not identified as constructors do not + implement the [[Construct]] internal method unless otherwise specified + in the description of a particular function. +includes: [isConstructor.js] +features: [Proxy, Reflect.construct, arrow-function] +---*/ + +var revocationFunction = Proxy.revocable({}, {}).revoke; + +assert.sameValue( + Object.prototype.hasOwnProperty.call(revocationFunction, "prototype"), + false, + 'Object.prototype.hasOwnProperty.call(revocationFunction, "prototype") must return false' +); +assert.sameValue(isConstructor(revocationFunction), false, 'isConstructor(revocationFunction) must return false'); +assert.throws(TypeError, () => { + new revocationFunction(); +}, '`new revocationFunction()` throws TypeError'); + + + +reportCompare(0, 0); -- cgit v1.2.3