From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- .../non262/class/derivedConstructorReturnPrimitive.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 js/src/tests/non262/class/derivedConstructorReturnPrimitive.js (limited to 'js/src/tests/non262/class/derivedConstructorReturnPrimitive.js') diff --git a/js/src/tests/non262/class/derivedConstructorReturnPrimitive.js b/js/src/tests/non262/class/derivedConstructorReturnPrimitive.js new file mode 100644 index 0000000000..8b1594fa81 --- /dev/null +++ b/js/src/tests/non262/class/derivedConstructorReturnPrimitive.js @@ -0,0 +1,15 @@ +class foo extends null { + constructor() { + // Returning a primitive is a TypeError in derived constructors. This + // ensures that super() can take the return value directly, without + // checking it. Use |null| here, as a tricky check to make sure we + // didn't lump it in with the object check, somehow. + return null; + } +} + +for (let i = 0; i < 1100; i++) + assertThrownErrorContains(() => new foo(), "return"); + +if (typeof reportCompare === 'function') + reportCompare(0,0,"OK"); -- cgit v1.2.3