From 2aa4a82499d4becd2284cdb482213d541b8804dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 16:29:10 +0200 Subject: Adding upstream version 86.0.1. Signed-off-by: Daniel Baumann --- js/src/tests/non262/object/15.2.3.9.js | 51 ++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 js/src/tests/non262/object/15.2.3.9.js (limited to 'js/src/tests/non262/object/15.2.3.9.js') diff --git a/js/src/tests/non262/object/15.2.3.9.js b/js/src/tests/non262/object/15.2.3.9.js new file mode 100644 index 0000000000..c73437fa7d --- /dev/null +++ b/js/src/tests/non262/object/15.2.3.9.js @@ -0,0 +1,51 @@ +/* + * Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/licenses/publicdomain/ + */ + +/* Object.freeze */ + +function getme() { return 42; }; +function setme(x) { }; + +var properties = { all: { value:1, writable:true, configurable:true, enumerable: true }, + readOnly: { value:2, writable:false, configurable:true, enumerable: true }, + nonConfig: { value:3, writable:true, configurable:false, enumerable: true }, + none: { value:4, writable:false, configurable:false, enumerable: true }, + getter: { get: getme, configurable:false, enumerable: true }, + setter: { set: setme, configurable:false, enumerable: true }, + getandset: { get: getme, set: setme, configurable:false, enumerable: true } + }; +var o = Object.defineProperties({}, properties); + +Object.freeze(o); + +function getPropertyOf(obj) { + return function (prop) { + return Object.getOwnPropertyDescriptor(obj, prop); + }; +}; + +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'all'), + { value: 1, writable:false, enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'readOnly'), + { value: 2, writable:false, enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'nonConfig'), + { value: 3, writable:false, enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'none'), + { value: 4, writable:false, enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'getter'), + { get: getme, set: (void 0), enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'setter'), + { set: setme, get: (void 0), enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'getandset'), + { get: getme, set: setme, enumerable:true, configurable:false }), + true); + +reportCompare(true, true); -- cgit v1.2.3