summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/IteratorPrototype
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/tests/test262/built-ins/IteratorPrototype
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/tests/test262/built-ins/IteratorPrototype')
-rw-r--r--js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/browser.js0
-rw-r--r--js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/length.js32
-rw-r--r--js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/name.js35
-rw-r--r--js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/prop-desc.js25
-rw-r--r--js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/return-val.js34
-rw-r--r--js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/shell.js0
-rw-r--r--js/src/tests/test262/built-ins/IteratorPrototype/browser.js0
-rw-r--r--js/src/tests/test262/built-ins/IteratorPrototype/shell.js0
8 files changed, 126 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/browser.js b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/browser.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/browser.js
diff --git a/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/length.js b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/length.js
new file mode 100644
index 0000000000..56795d8d2c
--- /dev/null
+++ b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 25.1.2.1
+description: Length of IteratorPrototype[ @@iterator ]
+info: |
+ ES6 Section 17:
+ Every built-in Function object, including constructors, has a length
+ property whose value is an integer. Unless otherwise specified, this value
+ is equal to the largest number of named arguments shown in the subclause
+ headings for the function description, including optional parameters.
+
+ [...]
+
+ Unless otherwise specified, the length property of a built-in Function
+ object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+ [[Configurable]]: true }.
+features: [Symbol.iterator]
+includes: [propertyHelper.js]
+---*/
+
+var IteratorPrototype = Object.getPrototypeOf(
+ Object.getPrototypeOf([][Symbol.iterator]())
+);
+
+assert.sameValue(IteratorPrototype[Symbol.iterator].length, 0);
+
+verifyNotEnumerable(IteratorPrototype[Symbol.iterator], 'length');
+verifyNotWritable(IteratorPrototype[Symbol.iterator], 'length');
+verifyConfigurable(IteratorPrototype[Symbol.iterator], 'length');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/name.js b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/name.js
new file mode 100644
index 0000000000..39266faada
--- /dev/null
+++ b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/name.js
@@ -0,0 +1,35 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 25.1.2.1
+description: Descriptor for `name` property
+info: |
+ The value of the name property of this function is "[Symbol.iterator]".
+
+ ES6 Section 17: ECMAScript Standard Built-in Objects
+
+ Every built-in Function object, including constructors, that is not
+ identified as an anonymous function has a name property whose value is a
+ String. Unless otherwise specified, this value is the name that is given to
+ the function in this specification.
+
+ [...]
+
+ Unless otherwise specified, the name property of a built-in Function
+ object, if it exists, has the attributes { [[Writable]]: false,
+ [[Enumerable]]: false, [[Configurable]]: true }.
+features: [Symbol.iterator]
+includes: [propertyHelper.js]
+---*/
+
+var IteratorPrototype = Object.getPrototypeOf(
+ Object.getPrototypeOf([][Symbol.iterator]())
+);
+
+assert.sameValue(IteratorPrototype[Symbol.iterator].name, '[Symbol.iterator]');
+
+verifyNotEnumerable(IteratorPrototype[Symbol.iterator], 'name');
+verifyNotWritable(IteratorPrototype[Symbol.iterator], 'name');
+verifyConfigurable(IteratorPrototype[Symbol.iterator], 'name');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/prop-desc.js b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/prop-desc.js
new file mode 100644
index 0000000000..cc007d0bbd
--- /dev/null
+++ b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/prop-desc.js
@@ -0,0 +1,25 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 25.1.2.1
+description: Property descriptor
+info: |
+ ES6 Section 17
+
+ Every other data property described in clauses 18 through 26 and in Annex
+ B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false,
+ [[Configurable]]: true } unless otherwise specified.
+features: [Symbol.iterator]
+includes: [propertyHelper.js]
+---*/
+
+var IteratorPrototype = Object.getPrototypeOf(
+ Object.getPrototypeOf([][Symbol.iterator]())
+);
+
+assert.sameValue(typeof IteratorPrototype[Symbol.iterator], 'function');
+verifyNotEnumerable(IteratorPrototype, Symbol.iterator);
+verifyWritable(IteratorPrototype, Symbol.iterator);
+verifyConfigurable(IteratorPrototype, Symbol.iterator);
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/return-val.js b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/return-val.js
new file mode 100644
index 0000000000..3bd26c9343
--- /dev/null
+++ b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/return-val.js
@@ -0,0 +1,34 @@
+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-%iteratorprototype%-@@iterator
+description: Return value of @@iterator on IteratorPrototype
+info: |
+ %IteratorPrototype% [ @@iterator ] ( )
+ 1. Return the this value.
+features: [Symbol.iterator]
+---*/
+
+const IteratorPrototype = Object.getPrototypeOf(
+ Object.getPrototypeOf([][Symbol.iterator]())
+);
+const getIterator = IteratorPrototype[Symbol.iterator];
+
+const thisValues = [
+ {},
+ Symbol(),
+ 4,
+ 4n,
+ true,
+ undefined,
+ null,
+];
+
+for (const thisValue of thisValues) {
+ assert.sameValue(
+ getIterator.call(thisValue),
+ thisValue
+ );
+}
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/shell.js b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/shell.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/IteratorPrototype/Symbol.iterator/shell.js
diff --git a/js/src/tests/test262/built-ins/IteratorPrototype/browser.js b/js/src/tests/test262/built-ins/IteratorPrototype/browser.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/IteratorPrototype/browser.js
diff --git a/js/src/tests/test262/built-ins/IteratorPrototype/shell.js b/js/src/tests/test262/built-ins/IteratorPrototype/shell.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/IteratorPrototype/shell.js