summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/object/15.2.3.9.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /js/src/tests/non262/object/15.2.3.9.js
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/tests/non262/object/15.2.3.9.js')
-rw-r--r--js/src/tests/non262/object/15.2.3.9.js51
1 files changed, 51 insertions, 0 deletions
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);