summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Iterator/proto.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/Iterator/proto.js')
-rw-r--r--js/src/tests/non262/Iterator/proto.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/js/src/tests/non262/Iterator/proto.js b/js/src/tests/non262/Iterator/proto.js
new file mode 100644
index 0000000000..642e48d171
--- /dev/null
+++ b/js/src/tests/non262/Iterator/proto.js
@@ -0,0 +1,23 @@
+// |reftest| skip-if(!this.hasOwnProperty('Iterator')) -- Iterator is not enabled unconditionally
+/*---
+ The prototype of the Iterator constructor is the intrinsic object %FunctionPrototype%.
+---*/
+
+assertEq(Object.getPrototypeOf(Iterator), Function.prototype);
+
+const propDesc = Reflect.getOwnPropertyDescriptor(Iterator, 'prototype');
+assertEq(propDesc.writable, false);
+assertEq(propDesc.enumerable, false);
+assertEq(propDesc.configurable, false);
+
+// Make sure @@toStringTag has been set.
+const toStringTagDesc = Reflect.getOwnPropertyDescriptor(Iterator.prototype, Symbol.toStringTag);
+assertDeepEq(toStringTagDesc, {
+ value: "Iterator",
+ writable: true,
+ enumerable: false,
+ configurable: true,
+});
+
+if (typeof reportCompare === 'function')
+ reportCompare(0, 0);