From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Sun, 7 Apr 2024 21:33:14 +0200
Subject: Adding upstream version 115.7.0esr.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 .../class/defaultConstructorDerivedSpread.js       | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 js/src/tests/non262/class/defaultConstructorDerivedSpread.js

(limited to 'js/src/tests/non262/class/defaultConstructorDerivedSpread.js')

diff --git a/js/src/tests/non262/class/defaultConstructorDerivedSpread.js b/js/src/tests/non262/class/defaultConstructorDerivedSpread.js
new file mode 100644
index 0000000000..4de18ec2fb
--- /dev/null
+++ b/js/src/tests/non262/class/defaultConstructorDerivedSpread.js
@@ -0,0 +1,23 @@
+/* Make sure that the default derived class constructor has the required spread semantics.
+ *
+ * Test credit André Bargull
+ */
+
+// <https://github.com/tc39/ecma262/pull/2216> changed default derived class
+// constructors to no longer execute the spread iteration protocol.
+Array.prototype[Symbol.iterator] = function*() {
+    throw new Error("unexpected call");
+};
+
+class Base {
+    constructor(a, b) {
+        assertEq(a, 1);
+        assertEq(b, 2);
+    }
+};
+class Derived extends Base {};
+
+new Derived(1, 2);
+
+if (typeof reportCompare === 'function')
+    reportCompare(0,0,"OK");
-- 
cgit v1.2.3