summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/object/defineProperties-callable-accessor.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/object/defineProperties-callable-accessor.js')
-rw-r--r--js/src/tests/non262/object/defineProperties-callable-accessor.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/tests/non262/object/defineProperties-callable-accessor.js b/js/src/tests/non262/object/defineProperties-callable-accessor.js
new file mode 100644
index 0000000000..1e92a2c92e
--- /dev/null
+++ b/js/src/tests/non262/object/defineProperties-callable-accessor.js
@@ -0,0 +1,19 @@
+// ObjectDefineProperties with non callable accessor throws.
+const descriptors = [
+ {get: 1}, {set: 1},
+ {get: []}, {set: []},
+ {get: {}}, {set: {}},
+ {get: new Number}, {set: new Number},
+
+ {get: 1, set: 1},
+ {get: [], set: []},
+ {get: {}, set: {}},
+ {get: new Number, set: new Number},
+];
+
+for (const descriptor of descriptors) {
+ assertThrowsInstanceOf(() => Object.create(null, {x: descriptor}), TypeError);
+ assertThrowsInstanceOf(() => Object.defineProperties({}, {x: descriptor}), TypeError);
+}
+
+reportCompare(true, true);