summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/Math
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/built-ins/Math')
-rw-r--r--js/src/tests/test262/built-ins/Math/abs/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/abs/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/abs/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/acos/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/acos/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/acos/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/acosh/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/acosh/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/acosh/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/asin/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/asin/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/asin/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/asinh/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/asinh/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/asinh/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/atan/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/atan/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/atan/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/atan2/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/atan2/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/atan2/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/atanh/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/atanh/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/atanh/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/cbrt/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/cbrt/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/cbrt/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/ceil/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/ceil/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/ceil/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/clz32/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/clz32/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/clz32/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/cos/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/cos/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/cos/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/cosh/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/cosh/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/cosh/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/exp/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/exp/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/exp/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/expm1/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/expm1/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/expm1/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/browser.js0
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/length.js20
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/name.js20
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/not-a-constructor.js19
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/prop-desc.js17
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/shell.js680
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/value-conversion.js28
-rw-r--r--js/src/tests/test262/built-ins/Math/floor/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/floor/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/floor/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/fround/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/fround/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/fround/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/hypot/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/hypot/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/hypot/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/imul/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/imul/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/imul/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/log/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/log/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/log/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/log10/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/log10/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/log10/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/log1p/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/log1p/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/log1p/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/log2/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/log2/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/log2/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/max/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/max/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/max/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/min/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/min/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/min/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/pow/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/pow/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/pow/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/random/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/random/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/random/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/round/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/round/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/round/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/sign/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/sign/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/sign/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/sin/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/sin/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/sin/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/sinh/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/sinh/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/sinh/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/sqrt/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/sqrt/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/sqrt/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/tan/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/tan/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/tan/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/tanh/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/tanh/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/tanh/not-a-constructor.js2
-rw-r--r--js/src/tests/test262/built-ins/Math/trunc/length.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/trunc/name.js11
-rw-r--r--js/src/tests/test262/built-ins/Math/trunc/not-a-constructor.js2
112 files changed, 1239 insertions, 385 deletions
diff --git a/js/src/tests/test262/built-ins/Math/abs/length.js b/js/src/tests/test262/built-ins/Math/abs/length.js
index 2d031962ae..978f566e95 100644
--- a/js/src/tests/test262/built-ins/Math/abs/length.js
+++ b/js/src/tests/test262/built-ins/Math/abs/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.abs.length, 1);
-
-verifyNotEnumerable(Math.abs, "length");
-verifyNotWritable(Math.abs, "length");
-verifyConfigurable(Math.abs, "length");
+verifyProperty(Math.abs, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/abs/name.js b/js/src/tests/test262/built-ins/Math/abs/name.js
index 640f07b811..e95eb98e95 100644
--- a/js/src/tests/test262/built-ins/Math/abs/name.js
+++ b/js/src/tests/test262/built-ins/Math/abs/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.abs.name, "abs");
-
-verifyNotEnumerable(Math.abs, "name");
-verifyNotWritable(Math.abs, "name");
-verifyConfigurable(Math.abs, "name");
+verifyProperty(Math.abs, "name", {
+ value: "abs",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/abs/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/abs/not-a-constructor.js
index 3fc474119f..abe5fb0acf 100644
--- a/js/src/tests/test262/built-ins/Math/abs/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/abs/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.abs), false, 'isConstructor(Math.abs) must r
assert.throws(TypeError, () => {
new Math.abs();
-}, '`new Math.abs()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/acos/length.js b/js/src/tests/test262/built-ins/Math/acos/length.js
index 0d1fca6e4a..3785de0c0d 100644
--- a/js/src/tests/test262/built-ins/Math/acos/length.js
+++ b/js/src/tests/test262/built-ins/Math/acos/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.acos.length, 1);
-
-verifyNotEnumerable(Math.acos, "length");
-verifyNotWritable(Math.acos, "length");
-verifyConfigurable(Math.acos, "length");
+verifyProperty(Math.acos, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/acos/name.js b/js/src/tests/test262/built-ins/Math/acos/name.js
index d441d92d10..1e8059d1eb 100644
--- a/js/src/tests/test262/built-ins/Math/acos/name.js
+++ b/js/src/tests/test262/built-ins/Math/acos/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.acos.name, "acos");
-
-verifyNotEnumerable(Math.acos, "name");
-verifyNotWritable(Math.acos, "name");
-verifyConfigurable(Math.acos, "name");
+verifyProperty(Math.acos, "name", {
+ value: "acos",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/acos/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/acos/not-a-constructor.js
index 659f497ee4..8d9ef0724b 100644
--- a/js/src/tests/test262/built-ins/Math/acos/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/acos/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.acos), false, 'isConstructor(Math.acos) must
assert.throws(TypeError, () => {
new Math.acos();
-}, '`new Math.acos()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/acosh/length.js b/js/src/tests/test262/built-ins/Math/acosh/length.js
index 10b7e3c234..f24d80e857 100644
--- a/js/src/tests/test262/built-ins/Math/acosh/length.js
+++ b/js/src/tests/test262/built-ins/Math/acosh/length.js
@@ -18,10 +18,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.acosh.length, 1);
-
-verifyNotEnumerable(Math.acosh, "length");
-verifyNotWritable(Math.acosh, "length");
-verifyConfigurable(Math.acosh, "length");
+verifyProperty(Math.acosh, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/acosh/name.js b/js/src/tests/test262/built-ins/Math/acosh/name.js
index 5ff5df412f..6fce1df3a7 100644
--- a/js/src/tests/test262/built-ins/Math/acosh/name.js
+++ b/js/src/tests/test262/built-ins/Math/acosh/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.acosh.name, "acosh");
-
-verifyNotEnumerable(Math.acosh, "name");
-verifyNotWritable(Math.acosh, "name");
-verifyConfigurable(Math.acosh, "name");
+verifyProperty(Math.acosh, "name", {
+ value: "acosh",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/acosh/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/acosh/not-a-constructor.js
index b9866a9eb4..3ea47b872e 100644
--- a/js/src/tests/test262/built-ins/Math/acosh/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/acosh/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.acosh), false, 'isConstructor(Math.acosh) mu
assert.throws(TypeError, () => {
new Math.acosh();
-}, '`new Math.acosh()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/asin/length.js b/js/src/tests/test262/built-ins/Math/asin/length.js
index 40ddb05dea..f9287e3728 100644
--- a/js/src/tests/test262/built-ins/Math/asin/length.js
+++ b/js/src/tests/test262/built-ins/Math/asin/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.asin.length, 1);
-
-verifyNotEnumerable(Math.asin, "length");
-verifyNotWritable(Math.asin, "length");
-verifyConfigurable(Math.asin, "length");
+verifyProperty(Math.asin, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/asin/name.js b/js/src/tests/test262/built-ins/Math/asin/name.js
index 2d63be0e06..aa051f2a4b 100644
--- a/js/src/tests/test262/built-ins/Math/asin/name.js
+++ b/js/src/tests/test262/built-ins/Math/asin/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.asin.name, "asin");
-
-verifyNotEnumerable(Math.asin, "name");
-verifyNotWritable(Math.asin, "name");
-verifyConfigurable(Math.asin, "name");
+verifyProperty(Math.asin, "name", {
+ value: "asin",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/asin/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/asin/not-a-constructor.js
index adcadf0892..c2393843e5 100644
--- a/js/src/tests/test262/built-ins/Math/asin/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/asin/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.asin), false, 'isConstructor(Math.asin) must
assert.throws(TypeError, () => {
new Math.asin();
-}, '`new Math.asin()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/asinh/length.js b/js/src/tests/test262/built-ins/Math/asinh/length.js
index 7dcd44f621..56a557c07f 100644
--- a/js/src/tests/test262/built-ins/Math/asinh/length.js
+++ b/js/src/tests/test262/built-ins/Math/asinh/length.js
@@ -21,10 +21,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.asinh.length, 1);
-
-verifyNotEnumerable(Math.asinh, "length");
-verifyNotWritable(Math.asinh, "length");
-verifyConfigurable(Math.asinh, "length");
+verifyProperty(Math.asinh, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/asinh/name.js b/js/src/tests/test262/built-ins/Math/asinh/name.js
index 252117b048..fa9bd41b00 100644
--- a/js/src/tests/test262/built-ins/Math/asinh/name.js
+++ b/js/src/tests/test262/built-ins/Math/asinh/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.asinh.name, "asinh");
-
-verifyNotEnumerable(Math.asinh, "name");
-verifyNotWritable(Math.asinh, "name");
-verifyConfigurable(Math.asinh, "name");
+verifyProperty(Math.asinh, "name", {
+ value: "asinh",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/asinh/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/asinh/not-a-constructor.js
index bfb53cc7ec..97f90884e6 100644
--- a/js/src/tests/test262/built-ins/Math/asinh/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/asinh/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.asinh), false, 'isConstructor(Math.asinh) mu
assert.throws(TypeError, () => {
new Math.asinh();
-}, '`new Math.asinh()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/atan/length.js b/js/src/tests/test262/built-ins/Math/atan/length.js
index e2a3cfc5ad..e3e97785f3 100644
--- a/js/src/tests/test262/built-ins/Math/atan/length.js
+++ b/js/src/tests/test262/built-ins/Math/atan/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.atan.length, 1);
-
-verifyNotEnumerable(Math.atan, "length");
-verifyNotWritable(Math.atan, "length");
-verifyConfigurable(Math.atan, "length");
+verifyProperty(Math.atan, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/atan/name.js b/js/src/tests/test262/built-ins/Math/atan/name.js
index 56009ad6fe..a389cc1be3 100644
--- a/js/src/tests/test262/built-ins/Math/atan/name.js
+++ b/js/src/tests/test262/built-ins/Math/atan/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.atan.name, "atan");
-
-verifyNotEnumerable(Math.atan, "name");
-verifyNotWritable(Math.atan, "name");
-verifyConfigurable(Math.atan, "name");
+verifyProperty(Math.atan, "name", {
+ value: "atan",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/atan/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/atan/not-a-constructor.js
index 0b00568ba9..13ca4783c9 100644
--- a/js/src/tests/test262/built-ins/Math/atan/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/atan/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.atan), false, 'isConstructor(Math.atan) must
assert.throws(TypeError, () => {
new Math.atan();
-}, '`new Math.atan()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/atan2/length.js b/js/src/tests/test262/built-ins/Math/atan2/length.js
index 8255c76783..308f1434b8 100644
--- a/js/src/tests/test262/built-ins/Math/atan2/length.js
+++ b/js/src/tests/test262/built-ins/Math/atan2/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.atan2.length, 2);
-
-verifyNotEnumerable(Math.atan2, "length");
-verifyNotWritable(Math.atan2, "length");
-verifyConfigurable(Math.atan2, "length");
+verifyProperty(Math.atan2, "length", {
+ value: 2,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/atan2/name.js b/js/src/tests/test262/built-ins/Math/atan2/name.js
index fef201b98d..b7ddd1bd23 100644
--- a/js/src/tests/test262/built-ins/Math/atan2/name.js
+++ b/js/src/tests/test262/built-ins/Math/atan2/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.atan2.name, "atan2");
-
-verifyNotEnumerable(Math.atan2, "name");
-verifyNotWritable(Math.atan2, "name");
-verifyConfigurable(Math.atan2, "name");
+verifyProperty(Math.atan2, "name", {
+ value: "atan2",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/atan2/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/atan2/not-a-constructor.js
index 3b8989dd32..554b7e886f 100644
--- a/js/src/tests/test262/built-ins/Math/atan2/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/atan2/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.atan2), false, 'isConstructor(Math.atan2) mu
assert.throws(TypeError, () => {
new Math.atan2();
-}, '`new Math.atan2()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/atanh/length.js b/js/src/tests/test262/built-ins/Math/atanh/length.js
index 7836a19735..df99c46c57 100644
--- a/js/src/tests/test262/built-ins/Math/atanh/length.js
+++ b/js/src/tests/test262/built-ins/Math/atanh/length.js
@@ -21,10 +21,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.atanh.length, 1);
-
-verifyNotEnumerable(Math.atanh, "length");
-verifyNotWritable(Math.atanh, "length");
-verifyConfigurable(Math.atanh, "length");
+verifyProperty(Math.atanh, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/atanh/name.js b/js/src/tests/test262/built-ins/Math/atanh/name.js
index f62a0884df..d215638765 100644
--- a/js/src/tests/test262/built-ins/Math/atanh/name.js
+++ b/js/src/tests/test262/built-ins/Math/atanh/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.atanh.name, "atanh");
-
-verifyNotEnumerable(Math.atanh, "name");
-verifyNotWritable(Math.atanh, "name");
-verifyConfigurable(Math.atanh, "name");
+verifyProperty(Math.atanh, "name", {
+ value: "atanh",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/atanh/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/atanh/not-a-constructor.js
index 1dd566de55..cd2a34d93d 100644
--- a/js/src/tests/test262/built-ins/Math/atanh/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/atanh/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.atanh), false, 'isConstructor(Math.atanh) mu
assert.throws(TypeError, () => {
new Math.atanh();
-}, '`new Math.atanh()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/cbrt/length.js b/js/src/tests/test262/built-ins/Math/cbrt/length.js
index 254fc702d8..e0bc1c181e 100644
--- a/js/src/tests/test262/built-ins/Math/cbrt/length.js
+++ b/js/src/tests/test262/built-ins/Math/cbrt/length.js
@@ -21,10 +21,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.cbrt.length, 1);
-
-verifyNotEnumerable(Math.cbrt, "length");
-verifyNotWritable(Math.cbrt, "length");
-verifyConfigurable(Math.cbrt, "length");
+verifyProperty(Math.cbrt, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/cbrt/name.js b/js/src/tests/test262/built-ins/Math/cbrt/name.js
index d6262036b4..bb0f003077 100644
--- a/js/src/tests/test262/built-ins/Math/cbrt/name.js
+++ b/js/src/tests/test262/built-ins/Math/cbrt/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.cbrt.name, "cbrt");
-
-verifyNotEnumerable(Math.cbrt, "name");
-verifyNotWritable(Math.cbrt, "name");
-verifyConfigurable(Math.cbrt, "name");
+verifyProperty(Math.cbrt, "name", {
+ value: "cbrt",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/cbrt/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/cbrt/not-a-constructor.js
index 39b62b8f1c..2999fd05e2 100644
--- a/js/src/tests/test262/built-ins/Math/cbrt/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/cbrt/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.cbrt), false, 'isConstructor(Math.cbrt) must
assert.throws(TypeError, () => {
new Math.cbrt();
-}, '`new Math.cbrt()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/ceil/length.js b/js/src/tests/test262/built-ins/Math/ceil/length.js
index c8717de985..a1b84541d0 100644
--- a/js/src/tests/test262/built-ins/Math/ceil/length.js
+++ b/js/src/tests/test262/built-ins/Math/ceil/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.ceil.length, 1);
-
-verifyNotEnumerable(Math.ceil, "length");
-verifyNotWritable(Math.ceil, "length");
-verifyConfigurable(Math.ceil, "length");
+verifyProperty(Math.ceil, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/ceil/name.js b/js/src/tests/test262/built-ins/Math/ceil/name.js
index df08f67866..5425e70f51 100644
--- a/js/src/tests/test262/built-ins/Math/ceil/name.js
+++ b/js/src/tests/test262/built-ins/Math/ceil/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.ceil.name, "ceil");
-
-verifyNotEnumerable(Math.ceil, "name");
-verifyNotWritable(Math.ceil, "name");
-verifyConfigurable(Math.ceil, "name");
+verifyProperty(Math.ceil, "name", {
+ value: "ceil",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/ceil/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/ceil/not-a-constructor.js
index 8e2861138f..34468e9cf3 100644
--- a/js/src/tests/test262/built-ins/Math/ceil/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/ceil/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.ceil), false, 'isConstructor(Math.ceil) must
assert.throws(TypeError, () => {
new Math.ceil();
-}, '`new Math.ceil()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/clz32/length.js b/js/src/tests/test262/built-ins/Math/clz32/length.js
index 038975b13d..b139a9f06d 100644
--- a/js/src/tests/test262/built-ins/Math/clz32/length.js
+++ b/js/src/tests/test262/built-ins/Math/clz32/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.clz32.length, 1);
-
-verifyNotEnumerable(Math.clz32, "length");
-verifyNotWritable(Math.clz32, "length");
-verifyConfigurable(Math.clz32, "length");
+verifyProperty(Math.clz32, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/clz32/name.js b/js/src/tests/test262/built-ins/Math/clz32/name.js
index 2862f87439..0ba3af0460 100644
--- a/js/src/tests/test262/built-ins/Math/clz32/name.js
+++ b/js/src/tests/test262/built-ins/Math/clz32/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.clz32.name, "clz32");
-
-verifyNotEnumerable(Math.clz32, "name");
-verifyNotWritable(Math.clz32, "name");
-verifyConfigurable(Math.clz32, "name");
+verifyProperty(Math.clz32, "name", {
+ value: "clz32",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/clz32/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/clz32/not-a-constructor.js
index 2bff88114f..c1a38ec793 100644
--- a/js/src/tests/test262/built-ins/Math/clz32/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/clz32/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.clz32), false, 'isConstructor(Math.clz32) mu
assert.throws(TypeError, () => {
new Math.clz32();
-}, '`new Math.clz32()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/cos/length.js b/js/src/tests/test262/built-ins/Math/cos/length.js
index b41d87ef73..b7c1feb4ab 100644
--- a/js/src/tests/test262/built-ins/Math/cos/length.js
+++ b/js/src/tests/test262/built-ins/Math/cos/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.cos.length, 1);
-
-verifyNotEnumerable(Math.cos, "length");
-verifyNotWritable(Math.cos, "length");
-verifyConfigurable(Math.cos, "length");
+verifyProperty(Math.cos, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/cos/name.js b/js/src/tests/test262/built-ins/Math/cos/name.js
index 88be1490d8..291819a099 100644
--- a/js/src/tests/test262/built-ins/Math/cos/name.js
+++ b/js/src/tests/test262/built-ins/Math/cos/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.cos.name, "cos");
-
-verifyNotEnumerable(Math.cos, "name");
-verifyNotWritable(Math.cos, "name");
-verifyConfigurable(Math.cos, "name");
+verifyProperty(Math.cos, "name", {
+ value: "cos",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/cos/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/cos/not-a-constructor.js
index e86a689ccb..e680ae9ade 100644
--- a/js/src/tests/test262/built-ins/Math/cos/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/cos/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.cos), false, 'isConstructor(Math.cos) must r
assert.throws(TypeError, () => {
new Math.cos();
-}, '`new Math.cos()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/cosh/length.js b/js/src/tests/test262/built-ins/Math/cosh/length.js
index 6c64935887..42d849b37c 100644
--- a/js/src/tests/test262/built-ins/Math/cosh/length.js
+++ b/js/src/tests/test262/built-ins/Math/cosh/length.js
@@ -18,10 +18,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.cosh.length, 1);
-
-verifyNotEnumerable(Math.cosh, "length");
-verifyNotWritable(Math.cosh, "length");
-verifyConfigurable(Math.cosh, "length");
+verifyProperty(Math.cosh, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/cosh/name.js b/js/src/tests/test262/built-ins/Math/cosh/name.js
index 161ed02e3a..1358dd428a 100644
--- a/js/src/tests/test262/built-ins/Math/cosh/name.js
+++ b/js/src/tests/test262/built-ins/Math/cosh/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.cosh.name, "cosh");
-
-verifyNotEnumerable(Math.cosh, "name");
-verifyNotWritable(Math.cosh, "name");
-verifyConfigurable(Math.cosh, "name");
+verifyProperty(Math.cosh, "name", {
+ value: "cosh",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/cosh/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/cosh/not-a-constructor.js
index 8cda77d866..43e7b739c3 100644
--- a/js/src/tests/test262/built-ins/Math/cosh/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/cosh/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.cosh), false, 'isConstructor(Math.cosh) must
assert.throws(TypeError, () => {
new Math.cosh();
-}, '`new Math.cosh()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/exp/length.js b/js/src/tests/test262/built-ins/Math/exp/length.js
index 1f90dbf228..06e2d7e267 100644
--- a/js/src/tests/test262/built-ins/Math/exp/length.js
+++ b/js/src/tests/test262/built-ins/Math/exp/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.exp.length, 1);
-
-verifyNotEnumerable(Math.exp, "length");
-verifyNotWritable(Math.exp, "length");
-verifyConfigurable(Math.exp, "length");
+verifyProperty(Math.exp, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/exp/name.js b/js/src/tests/test262/built-ins/Math/exp/name.js
index 9f0ec90ebb..10dface3a7 100644
--- a/js/src/tests/test262/built-ins/Math/exp/name.js
+++ b/js/src/tests/test262/built-ins/Math/exp/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.exp.name, "exp");
-
-verifyNotEnumerable(Math.exp, "name");
-verifyNotWritable(Math.exp, "name");
-verifyConfigurable(Math.exp, "name");
+verifyProperty(Math.exp, "name", {
+ value: "exp",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/exp/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/exp/not-a-constructor.js
index 9d956e7bcb..ea30924ae8 100644
--- a/js/src/tests/test262/built-ins/Math/exp/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/exp/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.exp), false, 'isConstructor(Math.exp) must r
assert.throws(TypeError, () => {
new Math.exp();
-}, '`new Math.exp()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/expm1/length.js b/js/src/tests/test262/built-ins/Math/expm1/length.js
index ead3c57638..2b58d8cf01 100644
--- a/js/src/tests/test262/built-ins/Math/expm1/length.js
+++ b/js/src/tests/test262/built-ins/Math/expm1/length.js
@@ -21,10 +21,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.expm1.length, 1);
-
-verifyNotEnumerable(Math.expm1, "length");
-verifyNotWritable(Math.expm1, "length");
-verifyConfigurable(Math.expm1, "length");
+verifyProperty(Math.expm1, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/expm1/name.js b/js/src/tests/test262/built-ins/Math/expm1/name.js
index 698bdc19c0..5c1e831913 100644
--- a/js/src/tests/test262/built-ins/Math/expm1/name.js
+++ b/js/src/tests/test262/built-ins/Math/expm1/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.expm1.name, "expm1");
-
-verifyNotEnumerable(Math.expm1, "name");
-verifyNotWritable(Math.expm1, "name");
-verifyConfigurable(Math.expm1, "name");
+verifyProperty(Math.expm1, "name", {
+ value: "expm1",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/expm1/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/expm1/not-a-constructor.js
index d0b9a18935..4ce17e5172 100644
--- a/js/src/tests/test262/built-ins/Math/expm1/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/expm1/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.expm1), false, 'isConstructor(Math.expm1) mu
assert.throws(TypeError, () => {
new Math.expm1();
-}, '`new Math.expm1()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/f16round/browser.js b/js/src/tests/test262/built-ins/Math/f16round/browser.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/browser.js
diff --git a/js/src/tests/test262/built-ins/Math/f16round/length.js b/js/src/tests/test262/built-ins/Math/f16round/length.js
new file mode 100644
index 0000000000..06aa21a352
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/length.js
@@ -0,0 +1,20 @@
+// |reftest| shell-option(--enable-float16array) skip-if(!this.hasOwnProperty('Float16Array')||!xulRuntime.shell) -- Float16Array is not enabled unconditionally, requires shell-options
+// Copyright (C) 2024 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.f16round
+description: >
+ Math.f16round.length is 1
+features: [Float16Array]
+includes: [propertyHelper.js]
+---*/
+
+verifyProperty(Math.f16round, 'length', {
+ value: 1,
+ enumerable: false,
+ writable: false,
+ configurable: true
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/f16round/name.js b/js/src/tests/test262/built-ins/Math/f16round/name.js
new file mode 100644
index 0000000000..6e6167e469
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/name.js
@@ -0,0 +1,20 @@
+// |reftest| shell-option(--enable-float16array) skip-if(!this.hasOwnProperty('Float16Array')||!xulRuntime.shell) -- Float16Array is not enabled unconditionally, requires shell-options
+// Copyright (C) 2024 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.f16round
+description: >
+ Math.f16round.name is "f16round"
+features: [Float16Array]
+includes: [propertyHelper.js]
+---*/
+
+verifyProperty(Math.f16round, 'name', {
+ value: 'f16round',
+ enumerable: false,
+ writable: false,
+ configurable: true
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/f16round/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/f16round/not-a-constructor.js
new file mode 100644
index 0000000000..1dcb13eb89
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/not-a-constructor.js
@@ -0,0 +1,19 @@
+// |reftest| shell-option(--enable-float16array) skip-if(!this.hasOwnProperty('Float16Array')||!xulRuntime.shell) -- Float16Array is not enabled unconditionally, requires shell-options
+// Copyright (C) 2024 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-ecmascript-standard-built-in-objects
+description: >
+ Math.f16round does not implement [[Construct]], is not new-able
+includes: [isConstructor.js]
+features: [Float16Array, Reflect.construct]
+---*/
+
+assert(!isConstructor(Math.f16round), "Math.f16round is not a constructor");
+
+assert.throws(TypeError, function () {
+ new Math.fround();
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/f16round/prop-desc.js b/js/src/tests/test262/built-ins/Math/f16round/prop-desc.js
new file mode 100644
index 0000000000..970532b3b8
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/prop-desc.js
@@ -0,0 +1,17 @@
+// |reftest| shell-option(--enable-float16array) skip-if(!this.hasOwnProperty('Float16Array')||!xulRuntime.shell) -- Float16Array is not enabled unconditionally, requires shell-options
+// Copyright (C) 2024 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.f16round
+description: >
+ "f16round" property of Math
+features: [Float16Array]
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "f16round");
+verifyWritable(Math, "f16round");
+verifyConfigurable(Math, "f16round");
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/f16round/shell.js b/js/src/tests/test262/built-ins/Math/f16round/shell.js
new file mode 100644
index 0000000000..d71430014e
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/shell.js
@@ -0,0 +1,680 @@
+// GENERATED, DO NOT EDIT
+// file: byteConversionValues.js
+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Provide a list for original and expected values for different byte
+ conversions.
+ This helper is mostly used on tests for TypedArray and DataView, and each
+ array from the expected values must match the original values array on every
+ index containing its original value.
+defines: [byteConversionValues]
+---*/
+var byteConversionValues = {
+ values: [
+ 127, // 2 ** 7 - 1
+ 128, // 2 ** 7
+ 32767, // 2 ** 15 - 1
+ 32768, // 2 ** 15
+ 2147483647, // 2 ** 31 - 1
+ 2147483648, // 2 ** 31
+ 255, // 2 ** 8 - 1
+ 256, // 2 ** 8
+ 65535, // 2 ** 16 - 1
+ 65536, // 2 ** 16
+ 4294967295, // 2 ** 32 - 1
+ 4294967296, // 2 ** 32
+ 9007199254740991, // 2 ** 53 - 1
+ 9007199254740992, // 2 ** 53
+ 1.1,
+ 0.1,
+ 0.5,
+ 0.50000001,
+ 0.6,
+ 0.7,
+ undefined,
+ -1,
+ -0,
+ -0.1,
+ -1.1,
+ NaN,
+ -127, // - ( 2 ** 7 - 1 )
+ -128, // - ( 2 ** 7 )
+ -32767, // - ( 2 ** 15 - 1 )
+ -32768, // - ( 2 ** 15 )
+ -2147483647, // - ( 2 ** 31 - 1 )
+ -2147483648, // - ( 2 ** 31 )
+ -255, // - ( 2 ** 8 - 1 )
+ -256, // - ( 2 ** 8 )
+ -65535, // - ( 2 ** 16 - 1 )
+ -65536, // - ( 2 ** 16 )
+ -4294967295, // - ( 2 ** 32 - 1 )
+ -4294967296, // - ( 2 ** 32 )
+ Infinity,
+ -Infinity,
+ 0,
+ 2049, // an integer which rounds down under ties-to-even when cast to float16
+ 2051, // an integer which rounds up under ties-to-even when cast to float16
+ 0.00006103515625, // smallest normal float16
+ 0.00006097555160522461, // largest subnormal float16
+ 5.960464477539063e-8, // smallest float16
+ 2.9802322387695312e-8, // largest double which rounds to 0 when cast to float16
+ 2.980232238769532e-8, // smallest double which does not round to 0 when cast to float16
+ 8.940696716308594e-8, // a double which rounds up to a subnormal under ties-to-even when cast to float16
+ 1.4901161193847656e-7, // a double which rounds down to a subnormal under ties-to-even when cast to float16
+ 1.490116119384766e-7, // the next double above the one on the previous line one
+ 65504, // max finite float16
+ 65520, // smallest double which rounds to infinity when cast to float16
+ 65519.99999999999, // largest double which does not round to infinity when cast to float16
+ 0.000061005353927612305, // smallest double which rounds to a non-subnormal when cast to float16
+ 0.0000610053539276123 // largest double which rounds to a subnormal when cast to float16
+ ],
+
+ expected: {
+ Int8: [
+ 127, // 127
+ -128, // 128
+ -1, // 32767
+ 0, // 32768
+ -1, // 2147483647
+ 0, // 2147483648
+ -1, // 255
+ 0, // 256
+ -1, // 65535
+ 0, // 65536
+ -1, // 4294967295
+ 0, // 4294967296
+ -1, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ -1, // -1
+ 0, // -0
+ 0, // -0.1
+ -1, // -1.1
+ 0, // NaN
+ -127, // -127
+ -128, // -128
+ 1, // -32767
+ 0, // -32768
+ 1, // -2147483647
+ 0, // -2147483648
+ 1, // -255
+ 0, // -256
+ 1, // -65535
+ 0, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 1, // 2049
+ 3, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ -32, // 65504
+ -16, // 65520
+ -17, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Uint8: [
+ 127, // 127
+ 128, // 128
+ 255, // 32767
+ 0, // 32768
+ 255, // 2147483647
+ 0, // 2147483648
+ 255, // 255
+ 0, // 256
+ 255, // 65535
+ 0, // 65536
+ 255, // 4294967295
+ 0, // 4294967296
+ 255, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ 255, // -1
+ 0, // -0
+ 0, // -0.1
+ 255, // -1.1
+ 0, // NaN
+ 129, // -127
+ 128, // -128
+ 1, // -32767
+ 0, // -32768
+ 1, // -2147483647
+ 0, // -2147483648
+ 1, // -255
+ 0, // -256
+ 1, // -65535
+ 0, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 1, // 2049
+ 3, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ 224, // 65504
+ 240, // 65520
+ 239, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Uint8Clamped: [
+ 127, // 127
+ 128, // 128
+ 255, // 32767
+ 255, // 32768
+ 255, // 2147483647
+ 255, // 2147483648
+ 255, // 255
+ 255, // 256
+ 255, // 65535
+ 255, // 65536
+ 255, // 4294967295
+ 255, // 4294967296
+ 255, // 9007199254740991
+ 255, // 9007199254740992
+ 1, // 1.1,
+ 0, // 0.1
+ 0, // 0.5
+ 1, // 0.50000001,
+ 1, // 0.6
+ 1, // 0.7
+ 0, // undefined
+ 0, // -1
+ 0, // -0
+ 0, // -0.1
+ 0, // -1.1
+ 0, // NaN
+ 0, // -127
+ 0, // -128
+ 0, // -32767
+ 0, // -32768
+ 0, // -2147483647
+ 0, // -2147483648
+ 0, // -255
+ 0, // -256
+ 0, // -65535
+ 0, // -65536
+ 0, // -4294967295
+ 0, // -4294967296
+ 255, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 255, // 2049
+ 255, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ 255, // 65504
+ 255, // 65520
+ 255, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Int16: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ -32768, // 32768
+ -1, // 2147483647
+ 0, // 2147483648
+ 255, // 255
+ 256, // 256
+ -1, // 65535
+ 0, // 65536
+ -1, // 4294967295
+ 0, // 4294967296
+ -1, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ -1, // -1
+ 0, // -0
+ 0, // -0.1
+ -1, // -1.1
+ 0, // NaN
+ -127, // -127
+ -128, // -128
+ -32767, // -32767
+ -32768, // -32768
+ 1, // -2147483647
+ 0, // -2147483648
+ -255, // -255
+ -256, // -256
+ 1, // -65535
+ 0, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ -32, // 65504
+ -16, // 65520
+ -17, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Uint16: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ 32768, // 32768
+ 65535, // 2147483647
+ 0, // 2147483648
+ 255, // 255
+ 256, // 256
+ 65535, // 65535
+ 0, // 65536
+ 65535, // 4294967295
+ 0, // 4294967296
+ 65535, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ 65535, // -1
+ 0, // -0
+ 0, // -0.1
+ 65535, // -1.1
+ 0, // NaN
+ 65409, // -127
+ 65408, // -128
+ 32769, // -32767
+ 32768, // -32768
+ 1, // -2147483647
+ 0, // -2147483648
+ 65281, // -255
+ 65280, // -256
+ 1, // -65535
+ 0, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ 65504, // 65504
+ 65520, // 65520
+ 65519, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Int32: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ 32768, // 32768
+ 2147483647, // 2147483647
+ -2147483648, // 2147483648
+ 255, // 255
+ 256, // 256
+ 65535, // 65535
+ 65536, // 65536
+ -1, // 4294967295
+ 0, // 4294967296
+ -1, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ -1, // -1
+ 0, // -0
+ 0, // -0.1
+ -1, // -1.1
+ 0, // NaN
+ -127, // -127
+ -128, // -128
+ -32767, // -32767
+ -32768, // -32768
+ -2147483647, // -2147483647
+ -2147483648, // -2147483648
+ -255, // -255
+ -256, // -256
+ -65535, // -65535
+ -65536, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ 65504, // 65504
+ 65520, // 65520
+ 65519, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Uint32: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ 32768, // 32768
+ 2147483647, // 2147483647
+ 2147483648, // 2147483648
+ 255, // 255
+ 256, // 256
+ 65535, // 65535
+ 65536, // 65536
+ 4294967295, // 4294967295
+ 0, // 4294967296
+ 4294967295, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ 4294967295, // -1
+ 0, // -0
+ 0, // -0.1
+ 4294967295, // -1.1
+ 0, // NaN
+ 4294967169, // -127
+ 4294967168, // -128
+ 4294934529, // -32767
+ 4294934528, // -32768
+ 2147483649, // -2147483647
+ 2147483648, // -2147483648
+ 4294967041, // -255
+ 4294967040, // -256
+ 4294901761, // -65535
+ 4294901760, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ 65504, // 65504
+ 65520, // 65520
+ 65519, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Float16: [
+ 127, // 127
+ 128, // 128
+ 32768, // 32767
+ 32768, // 32768
+ Infinity, // 2147483647
+ Infinity, // 2147483648
+ 255, // 255
+ 256, // 256
+ Infinity, // 65535
+ Infinity, // 65536
+ Infinity, // 4294967295
+ Infinity, // 4294967296
+ Infinity, // 9007199254740991
+ Infinity, // 9007199254740992
+ 1.099609375, // 1.1
+ 0.0999755859375, // 0.1
+ 0.5, // 0.5
+ 0.5, // 0.50000001,
+ 0.60009765625, // 0.6
+ 0.7001953125, // 0.7
+ NaN, // undefined
+ -1, // -1
+ -0, // -0
+ -0.0999755859375, // -0.1
+ -1.099609375, // -1.1
+ NaN, // NaN
+ -127, // -127
+ -128, // -128
+ -32768, // -32767
+ -32768, // -32768
+ -Infinity, // -2147483647
+ -Infinity, // -2147483648
+ -255, // -255
+ -256, // -256
+ -Infinity, // -65535
+ -Infinity, // -65536
+ -Infinity, // -4294967295
+ -Infinity, // -4294967296
+ Infinity, // Infinity
+ -Infinity, // -Infinity
+ 0, // 0
+ 2048, // 2049
+ 2052, // 2051
+ 0.00006103515625, // 0.00006103515625
+ 0.00006097555160522461, // 0.00006097555160522461
+ 5.960464477539063e-8, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 5.960464477539063e-8, // 2.980232238769532e-8
+ 1.1920928955078125e-7, // 8.940696716308594e-8
+ 1.1920928955078125e-7, // 1.4901161193847656e-7
+ 1.7881393432617188e-7, // 1.490116119384766e-7
+ 65504, // 65504
+ Infinity, // 65520
+ 65504, // 65519.99999999999
+ 0.00006103515625, // 0.000061005353927612305
+ 0.00006097555160522461 // 0.0000610053539276123
+ ],
+ Float32: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ 32768, // 32768
+ 2147483648, // 2147483647
+ 2147483648, // 2147483648
+ 255, // 255
+ 256, // 256
+ 65535, // 65535
+ 65536, // 65536
+ 4294967296, // 4294967295
+ 4294967296, // 4294967296
+ 9007199254740992, // 9007199254740991
+ 9007199254740992, // 9007199254740992
+ 1.100000023841858, // 1.1
+ 0.10000000149011612, // 0.1
+ 0.5, // 0.5
+ 0.5, // 0.50000001,
+ 0.6000000238418579, // 0.6
+ 0.699999988079071, // 0.7
+ NaN, // undefined
+ -1, // -1
+ -0, // -0
+ -0.10000000149011612, // -0.1
+ -1.100000023841858, // -1.1
+ NaN, // NaN
+ -127, // -127
+ -128, // -128
+ -32767, // -32767
+ -32768, // -32768
+ -2147483648, // -2147483647
+ -2147483648, // -2147483648
+ -255, // -255
+ -256, // -256
+ -65535, // -65535
+ -65536, // -65536
+ -4294967296, // -4294967295
+ -4294967296, // -4294967296
+ Infinity, // Infinity
+ -Infinity, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0.00006103515625, // 0.00006103515625
+ 0.00006097555160522461, // 0.00006097555160522461
+ 5.960464477539063e-8, // 5.960464477539063e-8
+ 2.9802322387695312e-8, // 2.9802322387695312e-8
+ 2.9802322387695312e-8, // 2.980232238769532e-8
+ 8.940696716308594e-8, // 8.940696716308594e-8
+ 1.4901161193847656e-7, // 1.4901161193847656e-7
+ 1.4901161193847656e-7, // 1.490116119384766e-7
+ 65504, // 65504
+ 65520, // 65520
+ 65520, // 65519.99999999999
+ 0.000061005353927612305, // 0.000061005353927612305
+ 0.000061005353927612305 // 0.0000610053539276123
+ ],
+ Float64: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ 32768, // 32768
+ 2147483647, // 2147483647
+ 2147483648, // 2147483648
+ 255, // 255
+ 256, // 256
+ 65535, // 65535
+ 65536, // 65536
+ 4294967295, // 4294967295
+ 4294967296, // 4294967296
+ 9007199254740991, // 9007199254740991
+ 9007199254740992, // 9007199254740992
+ 1.1, // 1.1
+ 0.1, // 0.1
+ 0.5, // 0.5
+ 0.50000001, // 0.50000001,
+ 0.6, // 0.6
+ 0.7, // 0.7
+ NaN, // undefined
+ -1, // -1
+ -0, // -0
+ -0.1, // -0.1
+ -1.1, // -1.1
+ NaN, // NaN
+ -127, // -127
+ -128, // -128
+ -32767, // -32767
+ -32768, // -32768
+ -2147483647, // -2147483647
+ -2147483648, // -2147483648
+ -255, // -255
+ -256, // -256
+ -65535, // -65535
+ -65536, // -65536
+ -4294967295, // -4294967295
+ -4294967296, // -4294967296
+ Infinity, // Infinity
+ -Infinity, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0.00006103515625, // 0.00006103515625
+ 0.00006097555160522461, // 0.00006097555160522461
+ 5.960464477539063e-8, // 5.960464477539063e-8
+ 2.9802322387695312e-8, // 2.9802322387695312e-8
+ 2.980232238769532e-8, // 2.980232238769532e-8
+ 8.940696716308594e-8, // 8.940696716308594e-8
+ 1.4901161193847656e-7, // 1.4901161193847656e-7
+ 1.490116119384766e-7, // 1.490116119384766e-7
+ 65504, // 65504
+ 65520, // 65520
+ 65519.99999999999, // 65519.99999999999
+ 0.000061005353927612305, // 0.000061005353927612305
+ 0.0000610053539276123 // 0.0000610053539276123
+ ]
+ }
+};
+
+// file: isConstructor.js
+// Copyright (C) 2017 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: |
+ Test if a given function is a constructor function.
+defines: [isConstructor]
+features: [Reflect.construct]
+---*/
+
+function isConstructor(f) {
+ if (typeof f !== "function") {
+ throw new Test262Error("isConstructor invoked with a non-function value");
+ }
+
+ try {
+ Reflect.construct(function(){}, [], f);
+ } catch (e) {
+ return false;
+ }
+ return true;
+}
diff --git a/js/src/tests/test262/built-ins/Math/f16round/value-conversion.js b/js/src/tests/test262/built-ins/Math/f16round/value-conversion.js
new file mode 100644
index 0000000000..2e6ebae58b
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/value-conversion.js
@@ -0,0 +1,28 @@
+// |reftest| shell-option(--enable-float16array) skip-if(!this.hasOwnProperty('Float16Array')||!xulRuntime.shell) -- Float16Array is not enabled unconditionally, requires shell-options
+// Copyright (C) 2024 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.f16round
+description: >
+ Convert to binary16 format and than to binary64 format
+features: [Float16Array]
+includes: [byteConversionValues.js]
+---*/
+
+var values = byteConversionValues.values;
+var expectedValues = byteConversionValues.expected.Float16;
+
+values.forEach(function(value, i) {
+ var expected = expectedValues[i];
+
+ var result = Math.f16round(value);
+
+ assert.sameValue(
+ result,
+ expected,
+ "value: " + value
+ );
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/floor/length.js b/js/src/tests/test262/built-ins/Math/floor/length.js
index ee66afc021..7e456dc19c 100644
--- a/js/src/tests/test262/built-ins/Math/floor/length.js
+++ b/js/src/tests/test262/built-ins/Math/floor/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.floor.length, 1);
-
-verifyNotEnumerable(Math.floor, "length");
-verifyNotWritable(Math.floor, "length");
-verifyConfigurable(Math.floor, "length");
+verifyProperty(Math.floor, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/floor/name.js b/js/src/tests/test262/built-ins/Math/floor/name.js
index 4b08a81688..00f09e16eb 100644
--- a/js/src/tests/test262/built-ins/Math/floor/name.js
+++ b/js/src/tests/test262/built-ins/Math/floor/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.floor.name, "floor");
-
-verifyNotEnumerable(Math.floor, "name");
-verifyNotWritable(Math.floor, "name");
-verifyConfigurable(Math.floor, "name");
+verifyProperty(Math.floor, "name", {
+ value: "floor",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/floor/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/floor/not-a-constructor.js
index 140a726d16..e69c5d7c4a 100644
--- a/js/src/tests/test262/built-ins/Math/floor/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/floor/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.floor), false, 'isConstructor(Math.floor) mu
assert.throws(TypeError, () => {
new Math.floor();
-}, '`new Math.floor()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/fround/length.js b/js/src/tests/test262/built-ins/Math/fround/length.js
index 56190466ae..7020d5354e 100644
--- a/js/src/tests/test262/built-ins/Math/fround/length.js
+++ b/js/src/tests/test262/built-ins/Math/fround/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.fround.length, 1);
-
-verifyNotEnumerable(Math.fround, "length");
-verifyNotWritable(Math.fround, "length");
-verifyConfigurable(Math.fround, "length");
+verifyProperty(Math.fround, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/fround/name.js b/js/src/tests/test262/built-ins/Math/fround/name.js
index c1f5ac6270..4385f3cb77 100644
--- a/js/src/tests/test262/built-ins/Math/fround/name.js
+++ b/js/src/tests/test262/built-ins/Math/fround/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.fround.name, "fround");
-
-verifyNotEnumerable(Math.fround, "name");
-verifyNotWritable(Math.fround, "name");
-verifyConfigurable(Math.fround, "name");
+verifyProperty(Math.fround, "name", {
+ value: "fround",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/fround/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/fround/not-a-constructor.js
index d82e346651..029a31f66e 100644
--- a/js/src/tests/test262/built-ins/Math/fround/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/fround/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.fround), false, 'isConstructor(Math.fround)
assert.throws(TypeError, () => {
new Math.fround();
-}, '`new Math.fround()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/hypot/length.js b/js/src/tests/test262/built-ins/Math/hypot/length.js
index 9800debc1a..7a29ac886f 100644
--- a/js/src/tests/test262/built-ins/Math/hypot/length.js
+++ b/js/src/tests/test262/built-ins/Math/hypot/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.hypot.length, 2);
-
-verifyNotEnumerable(Math.hypot, "length");
-verifyNotWritable(Math.hypot, "length");
-verifyConfigurable(Math.hypot, "length");
+verifyProperty(Math.hypot, "length", {
+ value: 2,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/hypot/name.js b/js/src/tests/test262/built-ins/Math/hypot/name.js
index 46d395ca06..51224f04e0 100644
--- a/js/src/tests/test262/built-ins/Math/hypot/name.js
+++ b/js/src/tests/test262/built-ins/Math/hypot/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.hypot.name, "hypot");
-
-verifyNotEnumerable(Math.hypot, "name");
-verifyNotWritable(Math.hypot, "name");
-verifyConfigurable(Math.hypot, "name");
+verifyProperty(Math.hypot, "name", {
+ value: "hypot",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/hypot/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/hypot/not-a-constructor.js
index 21ff4ba634..7e75ae29ea 100644
--- a/js/src/tests/test262/built-ins/Math/hypot/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/hypot/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.hypot), false, 'isConstructor(Math.hypot) mu
assert.throws(TypeError, () => {
new Math.hypot();
-}, '`new Math.hypot()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/imul/length.js b/js/src/tests/test262/built-ins/Math/imul/length.js
index e457fa6151..67dd3a89b8 100644
--- a/js/src/tests/test262/built-ins/Math/imul/length.js
+++ b/js/src/tests/test262/built-ins/Math/imul/length.js
@@ -21,10 +21,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.imul.length, 2);
-
-verifyNotEnumerable(Math.imul, "length");
-verifyNotWritable(Math.imul, "length");
-verifyConfigurable(Math.imul, "length");
+verifyProperty(Math.imul, "length", {
+ value: 2,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/imul/name.js b/js/src/tests/test262/built-ins/Math/imul/name.js
index 46ed5dde63..8549eaa2fe 100644
--- a/js/src/tests/test262/built-ins/Math/imul/name.js
+++ b/js/src/tests/test262/built-ins/Math/imul/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.imul.name, "imul");
-
-verifyNotEnumerable(Math.imul, "name");
-verifyNotWritable(Math.imul, "name");
-verifyConfigurable(Math.imul, "name");
+verifyProperty(Math.imul, "name", {
+ value: "imul",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/imul/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/imul/not-a-constructor.js
index 000f83ab72..ab5492a6f7 100644
--- a/js/src/tests/test262/built-ins/Math/imul/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/imul/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.imul), false, 'isConstructor(Math.imul) must
assert.throws(TypeError, () => {
new Math.imul();
-}, '`new Math.imul()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log/length.js b/js/src/tests/test262/built-ins/Math/log/length.js
index e23e758bff..b25b3f7771 100644
--- a/js/src/tests/test262/built-ins/Math/log/length.js
+++ b/js/src/tests/test262/built-ins/Math/log/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.log.length, 1);
-
-verifyNotEnumerable(Math.log, "length");
-verifyNotWritable(Math.log, "length");
-verifyConfigurable(Math.log, "length");
+verifyProperty(Math.log, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log/name.js b/js/src/tests/test262/built-ins/Math/log/name.js
index 35009aa9d3..9822c1d027 100644
--- a/js/src/tests/test262/built-ins/Math/log/name.js
+++ b/js/src/tests/test262/built-ins/Math/log/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.log.name, "log");
-
-verifyNotEnumerable(Math.log, "name");
-verifyNotWritable(Math.log, "name");
-verifyConfigurable(Math.log, "name");
+verifyProperty(Math.log, "name", {
+ value: "log",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/log/not-a-constructor.js
index 2fe1ae7ee6..a0849c7b30 100644
--- a/js/src/tests/test262/built-ins/Math/log/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/log/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.log), false, 'isConstructor(Math.log) must r
assert.throws(TypeError, () => {
new Math.log();
-}, '`new Math.log()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log10/length.js b/js/src/tests/test262/built-ins/Math/log10/length.js
index 679d3f0b62..b7a2e430ee 100644
--- a/js/src/tests/test262/built-ins/Math/log10/length.js
+++ b/js/src/tests/test262/built-ins/Math/log10/length.js
@@ -21,10 +21,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.log10.length, 1);
-
-verifyNotEnumerable(Math.log10, "length");
-verifyNotWritable(Math.log10, "length");
-verifyConfigurable(Math.log10, "length");
+verifyProperty(Math.log10, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log10/name.js b/js/src/tests/test262/built-ins/Math/log10/name.js
index a41195533b..b717455f0e 100644
--- a/js/src/tests/test262/built-ins/Math/log10/name.js
+++ b/js/src/tests/test262/built-ins/Math/log10/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.log10.name, "log10");
-
-verifyNotEnumerable(Math.log10, "name");
-verifyNotWritable(Math.log10, "name");
-verifyConfigurable(Math.log10, "name");
+verifyProperty(Math.log10, "name", {
+ value: "log10",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log10/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/log10/not-a-constructor.js
index aacc516ebf..9422c777f0 100644
--- a/js/src/tests/test262/built-ins/Math/log10/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/log10/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.log10), false, 'isConstructor(Math.log10) mu
assert.throws(TypeError, () => {
new Math.log10();
-}, '`new Math.log10()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log1p/length.js b/js/src/tests/test262/built-ins/Math/log1p/length.js
index 40327f636c..51dbc6d86f 100644
--- a/js/src/tests/test262/built-ins/Math/log1p/length.js
+++ b/js/src/tests/test262/built-ins/Math/log1p/length.js
@@ -21,10 +21,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.log1p.length, 1);
-
-verifyNotEnumerable(Math.log1p, "length");
-verifyNotWritable(Math.log1p, "length");
-verifyConfigurable(Math.log1p, "length");
+verifyProperty(Math.log1p, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log1p/name.js b/js/src/tests/test262/built-ins/Math/log1p/name.js
index 9287af89ed..de9e469c0a 100644
--- a/js/src/tests/test262/built-ins/Math/log1p/name.js
+++ b/js/src/tests/test262/built-ins/Math/log1p/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.log1p.name, "log1p");
-
-verifyNotEnumerable(Math.log1p, "name");
-verifyNotWritable(Math.log1p, "name");
-verifyConfigurable(Math.log1p, "name");
+verifyProperty(Math.log1p, "name", {
+ value: "log1p",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log1p/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/log1p/not-a-constructor.js
index f89122aac0..fd3e9d10d8 100644
--- a/js/src/tests/test262/built-ins/Math/log1p/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/log1p/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.log1p), false, 'isConstructor(Math.log1p) mu
assert.throws(TypeError, () => {
new Math.log1p();
-}, '`new Math.log1p()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log2/length.js b/js/src/tests/test262/built-ins/Math/log2/length.js
index 4763011f45..0ba4c00ece 100644
--- a/js/src/tests/test262/built-ins/Math/log2/length.js
+++ b/js/src/tests/test262/built-ins/Math/log2/length.js
@@ -21,10 +21,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.log2.length, 1);
-
-verifyNotEnumerable(Math.log2, "length");
-verifyNotWritable(Math.log2, "length");
-verifyConfigurable(Math.log2, "length");
+verifyProperty(Math.log2, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log2/name.js b/js/src/tests/test262/built-ins/Math/log2/name.js
index 33af36ac29..1c2adc899f 100644
--- a/js/src/tests/test262/built-ins/Math/log2/name.js
+++ b/js/src/tests/test262/built-ins/Math/log2/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.log2.name, "log2");
-
-verifyNotEnumerable(Math.log2, "name");
-verifyNotWritable(Math.log2, "name");
-verifyConfigurable(Math.log2, "name");
+verifyProperty(Math.log2, "name", {
+ value: "log2",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/log2/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/log2/not-a-constructor.js
index 1a40c155c9..6e28337931 100644
--- a/js/src/tests/test262/built-ins/Math/log2/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/log2/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.log2), false, 'isConstructor(Math.log2) must
assert.throws(TypeError, () => {
new Math.log2();
-}, '`new Math.log2()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/max/length.js b/js/src/tests/test262/built-ins/Math/max/length.js
index a985231596..bd0ca09841 100644
--- a/js/src/tests/test262/built-ins/Math/max/length.js
+++ b/js/src/tests/test262/built-ins/Math/max/length.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.max.length, 2);
-
-verifyNotEnumerable(Math.max, "length");
-verifyNotWritable(Math.max, "length");
-verifyConfigurable(Math.max, "length");
+verifyProperty(Math.max, "length", {
+ value: 2,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/max/name.js b/js/src/tests/test262/built-ins/Math/max/name.js
index 2078d602bb..c989c92d5c 100644
--- a/js/src/tests/test262/built-ins/Math/max/name.js
+++ b/js/src/tests/test262/built-ins/Math/max/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.max.name, "max");
-
-verifyNotEnumerable(Math.max, "name");
-verifyNotWritable(Math.max, "name");
-verifyConfigurable(Math.max, "name");
+verifyProperty(Math.max, "name", {
+ value: "max",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/max/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/max/not-a-constructor.js
index 36e92c627c..4215e7f87a 100644
--- a/js/src/tests/test262/built-ins/Math/max/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/max/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.max), false, 'isConstructor(Math.max) must r
assert.throws(TypeError, () => {
new Math.max();
-}, '`new Math.max()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/min/length.js b/js/src/tests/test262/built-ins/Math/min/length.js
index 65706dd110..262d9ee601 100644
--- a/js/src/tests/test262/built-ins/Math/min/length.js
+++ b/js/src/tests/test262/built-ins/Math/min/length.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.min.length, 2);
-
-verifyNotEnumerable(Math.min, "length");
-verifyNotWritable(Math.min, "length");
-verifyConfigurable(Math.min, "length");
+verifyProperty(Math.min, "length", {
+ value: 2,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/min/name.js b/js/src/tests/test262/built-ins/Math/min/name.js
index 2fc9c3d206..27cfaa9fc7 100644
--- a/js/src/tests/test262/built-ins/Math/min/name.js
+++ b/js/src/tests/test262/built-ins/Math/min/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.min.name, "min");
-
-verifyNotEnumerable(Math.min, "name");
-verifyNotWritable(Math.min, "name");
-verifyConfigurable(Math.min, "name");
+verifyProperty(Math.min, "name", {
+ value: "min",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/min/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/min/not-a-constructor.js
index 24fca032af..7c0d13c7d3 100644
--- a/js/src/tests/test262/built-ins/Math/min/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/min/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.min), false, 'isConstructor(Math.min) must r
assert.throws(TypeError, () => {
new Math.min();
-}, '`new Math.min()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/pow/length.js b/js/src/tests/test262/built-ins/Math/pow/length.js
index 0ac918c8fb..a5023e7f7c 100644
--- a/js/src/tests/test262/built-ins/Math/pow/length.js
+++ b/js/src/tests/test262/built-ins/Math/pow/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.pow.length, 2);
-
-verifyNotEnumerable(Math.pow, "length");
-verifyNotWritable(Math.pow, "length");
-verifyConfigurable(Math.pow, "length");
+verifyProperty(Math.pow, "length", {
+ value: 2,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/pow/name.js b/js/src/tests/test262/built-ins/Math/pow/name.js
index c0caa2c9ad..894ad33926 100644
--- a/js/src/tests/test262/built-ins/Math/pow/name.js
+++ b/js/src/tests/test262/built-ins/Math/pow/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.pow.name, "pow");
-
-verifyNotEnumerable(Math.pow, "name");
-verifyNotWritable(Math.pow, "name");
-verifyConfigurable(Math.pow, "name");
+verifyProperty(Math.pow, "name", {
+ value: "pow",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/pow/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/pow/not-a-constructor.js
index 00ba4261fc..48510fd0ca 100644
--- a/js/src/tests/test262/built-ins/Math/pow/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/pow/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.pow), false, 'isConstructor(Math.pow) must r
assert.throws(TypeError, () => {
new Math.pow();
-}, '`new Math.pow()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/random/length.js b/js/src/tests/test262/built-ins/Math/random/length.js
index 21c8e5304f..ef8d3ae4d7 100644
--- a/js/src/tests/test262/built-ins/Math/random/length.js
+++ b/js/src/tests/test262/built-ins/Math/random/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.random.length, 0);
-
-verifyNotEnumerable(Math.random, "length");
-verifyNotWritable(Math.random, "length");
-verifyConfigurable(Math.random, "length");
+verifyProperty(Math.random, "length", {
+ value: 0,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/random/name.js b/js/src/tests/test262/built-ins/Math/random/name.js
index a6f983e5bc..ebf19e54fd 100644
--- a/js/src/tests/test262/built-ins/Math/random/name.js
+++ b/js/src/tests/test262/built-ins/Math/random/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.random.name, "random");
-
-verifyNotEnumerable(Math.random, "name");
-verifyNotWritable(Math.random, "name");
-verifyConfigurable(Math.random, "name");
+verifyProperty(Math.random, "name", {
+ value: "random",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/random/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/random/not-a-constructor.js
index 8160a93744..274e66fe72 100644
--- a/js/src/tests/test262/built-ins/Math/random/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/random/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.random), false, 'isConstructor(Math.random)
assert.throws(TypeError, () => {
new Math.random();
-}, '`new Math.random()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/round/length.js b/js/src/tests/test262/built-ins/Math/round/length.js
index 262c1ddebf..469492aa55 100644
--- a/js/src/tests/test262/built-ins/Math/round/length.js
+++ b/js/src/tests/test262/built-ins/Math/round/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.round.length, 1);
-
-verifyNotEnumerable(Math.round, "length");
-verifyNotWritable(Math.round, "length");
-verifyConfigurable(Math.round, "length");
+verifyProperty(Math.round, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/round/name.js b/js/src/tests/test262/built-ins/Math/round/name.js
index d1e21d7be4..5b6877e93e 100644
--- a/js/src/tests/test262/built-ins/Math/round/name.js
+++ b/js/src/tests/test262/built-ins/Math/round/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.round.name, "round");
-
-verifyNotEnumerable(Math.round, "name");
-verifyNotWritable(Math.round, "name");
-verifyConfigurable(Math.round, "name");
+verifyProperty(Math.round, "name", {
+ value: "round",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/round/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/round/not-a-constructor.js
index 45996875c4..9fbb4b5551 100644
--- a/js/src/tests/test262/built-ins/Math/round/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/round/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.round), false, 'isConstructor(Math.round) mu
assert.throws(TypeError, () => {
new Math.round();
-}, '`new Math.round()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sign/length.js b/js/src/tests/test262/built-ins/Math/sign/length.js
index 2d172bfaaa..f9beec1cec 100644
--- a/js/src/tests/test262/built-ins/Math/sign/length.js
+++ b/js/src/tests/test262/built-ins/Math/sign/length.js
@@ -18,10 +18,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.sign.length, 1);
-
-verifyNotEnumerable(Math.sign, "length");
-verifyNotWritable(Math.sign, "length");
-verifyConfigurable(Math.sign, "length");
+verifyProperty(Math.sign, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sign/name.js b/js/src/tests/test262/built-ins/Math/sign/name.js
index f706d18562..40aa1cc520 100644
--- a/js/src/tests/test262/built-ins/Math/sign/name.js
+++ b/js/src/tests/test262/built-ins/Math/sign/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.sign.name, "sign");
-
-verifyNotEnumerable(Math.sign, "name");
-verifyNotWritable(Math.sign, "name");
-verifyConfigurable(Math.sign, "name");
+verifyProperty(Math.sign, "name", {
+ value: "sign",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sign/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/sign/not-a-constructor.js
index 73a8f9f7d9..767ea490d7 100644
--- a/js/src/tests/test262/built-ins/Math/sign/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/sign/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.sign), false, 'isConstructor(Math.sign) must
assert.throws(TypeError, () => {
new Math.sign();
-}, '`new Math.sign()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sin/length.js b/js/src/tests/test262/built-ins/Math/sin/length.js
index 887df3bb9d..13e8ad33da 100644
--- a/js/src/tests/test262/built-ins/Math/sin/length.js
+++ b/js/src/tests/test262/built-ins/Math/sin/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.sin.length, 1);
-
-verifyNotEnumerable(Math.sin, "length");
-verifyNotWritable(Math.sin, "length");
-verifyConfigurable(Math.sin, "length");
+verifyProperty(Math.sin, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sin/name.js b/js/src/tests/test262/built-ins/Math/sin/name.js
index af0bb7c8a9..d782c0811d 100644
--- a/js/src/tests/test262/built-ins/Math/sin/name.js
+++ b/js/src/tests/test262/built-ins/Math/sin/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.sin.name, "sin");
-
-verifyNotEnumerable(Math.sin, "name");
-verifyNotWritable(Math.sin, "name");
-verifyConfigurable(Math.sin, "name");
+verifyProperty(Math.sin, "name", {
+ value: "sin",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sin/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/sin/not-a-constructor.js
index fec296dc85..f894c39841 100644
--- a/js/src/tests/test262/built-ins/Math/sin/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/sin/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.sin), false, 'isConstructor(Math.sin) must r
assert.throws(TypeError, () => {
new Math.sin();
-}, '`new Math.sin()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sinh/length.js b/js/src/tests/test262/built-ins/Math/sinh/length.js
index 5071e9cc11..4da8f31e8f 100644
--- a/js/src/tests/test262/built-ins/Math/sinh/length.js
+++ b/js/src/tests/test262/built-ins/Math/sinh/length.js
@@ -18,10 +18,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.sinh.length, 1);
-
-verifyNotEnumerable(Math.sinh, "length");
-verifyNotWritable(Math.sinh, "length");
-verifyConfigurable(Math.sinh, "length");
+verifyProperty(Math.sinh, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sinh/name.js b/js/src/tests/test262/built-ins/Math/sinh/name.js
index b2bb918e69..2561b33ef6 100644
--- a/js/src/tests/test262/built-ins/Math/sinh/name.js
+++ b/js/src/tests/test262/built-ins/Math/sinh/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.sinh.name, "sinh");
-
-verifyNotEnumerable(Math.sinh, "name");
-verifyNotWritable(Math.sinh, "name");
-verifyConfigurable(Math.sinh, "name");
+verifyProperty(Math.sinh, "name", {
+ value: "sinh",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sinh/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/sinh/not-a-constructor.js
index 9a5ff08bf7..cd892411b4 100644
--- a/js/src/tests/test262/built-ins/Math/sinh/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/sinh/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.sinh), false, 'isConstructor(Math.sinh) must
assert.throws(TypeError, () => {
new Math.sinh();
-}, '`new Math.sinh()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sqrt/length.js b/js/src/tests/test262/built-ins/Math/sqrt/length.js
index 566bbf47b5..ebc36e2be8 100644
--- a/js/src/tests/test262/built-ins/Math/sqrt/length.js
+++ b/js/src/tests/test262/built-ins/Math/sqrt/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.sqrt.length, 1);
-
-verifyNotEnumerable(Math.sqrt, "length");
-verifyNotWritable(Math.sqrt, "length");
-verifyConfigurable(Math.sqrt, "length");
+verifyProperty(Math.sqrt, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sqrt/name.js b/js/src/tests/test262/built-ins/Math/sqrt/name.js
index 0cca2fc7af..5278d51fd5 100644
--- a/js/src/tests/test262/built-ins/Math/sqrt/name.js
+++ b/js/src/tests/test262/built-ins/Math/sqrt/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.sqrt.name, "sqrt");
-
-verifyNotEnumerable(Math.sqrt, "name");
-verifyNotWritable(Math.sqrt, "name");
-verifyConfigurable(Math.sqrt, "name");
+verifyProperty(Math.sqrt, "name", {
+ value: "sqrt",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/sqrt/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/sqrt/not-a-constructor.js
index e40a2f5d55..599020a14b 100644
--- a/js/src/tests/test262/built-ins/Math/sqrt/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/sqrt/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.sqrt), false, 'isConstructor(Math.sqrt) must
assert.throws(TypeError, () => {
new Math.sqrt();
-}, '`new Math.sqrt()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/tan/length.js b/js/src/tests/test262/built-ins/Math/tan/length.js
index 0915527693..7a21afa332 100644
--- a/js/src/tests/test262/built-ins/Math/tan/length.js
+++ b/js/src/tests/test262/built-ins/Math/tan/length.js
@@ -22,10 +22,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.tan.length, 1);
-
-verifyNotEnumerable(Math.tan, "length");
-verifyNotWritable(Math.tan, "length");
-verifyConfigurable(Math.tan, "length");
+verifyProperty(Math.tan, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/tan/name.js b/js/src/tests/test262/built-ins/Math/tan/name.js
index e1f3e188d2..25bed1b1e1 100644
--- a/js/src/tests/test262/built-ins/Math/tan/name.js
+++ b/js/src/tests/test262/built-ins/Math/tan/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.tan.name, "tan");
-
-verifyNotEnumerable(Math.tan, "name");
-verifyNotWritable(Math.tan, "name");
-verifyConfigurable(Math.tan, "name");
+verifyProperty(Math.tan, "name", {
+ value: "tan",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/tan/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/tan/not-a-constructor.js
index ea79382a35..f57677cac0 100644
--- a/js/src/tests/test262/built-ins/Math/tan/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/tan/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.tan), false, 'isConstructor(Math.tan) must r
assert.throws(TypeError, () => {
new Math.tan();
-}, '`new Math.tan()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/tanh/length.js b/js/src/tests/test262/built-ins/Math/tanh/length.js
index 7af2c89df5..da3e9f2cd4 100644
--- a/js/src/tests/test262/built-ins/Math/tanh/length.js
+++ b/js/src/tests/test262/built-ins/Math/tanh/length.js
@@ -18,10 +18,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.tanh.length, 1);
-
-verifyNotEnumerable(Math.tanh, "length");
-verifyNotWritable(Math.tanh, "length");
-verifyConfigurable(Math.tanh, "length");
+verifyProperty(Math.tanh, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/tanh/name.js b/js/src/tests/test262/built-ins/Math/tanh/name.js
index af77bcfae0..9108cd0980 100644
--- a/js/src/tests/test262/built-ins/Math/tanh/name.js
+++ b/js/src/tests/test262/built-ins/Math/tanh/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.tanh.name, "tanh");
-
-verifyNotEnumerable(Math.tanh, "name");
-verifyNotWritable(Math.tanh, "name");
-verifyConfigurable(Math.tanh, "name");
+verifyProperty(Math.tanh, "name", {
+ value: "tanh",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/tanh/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/tanh/not-a-constructor.js
index 7f4914d650..80b8d74407 100644
--- a/js/src/tests/test262/built-ins/Math/tanh/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/tanh/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.tanh), false, 'isConstructor(Math.tanh) must
assert.throws(TypeError, () => {
new Math.tanh();
-}, '`new Math.tanh()` throws TypeError');
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/trunc/length.js b/js/src/tests/test262/built-ins/Math/trunc/length.js
index 593f893d82..0c716e41c9 100644
--- a/js/src/tests/test262/built-ins/Math/trunc/length.js
+++ b/js/src/tests/test262/built-ins/Math/trunc/length.js
@@ -18,10 +18,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.trunc.length, 1);
-
-verifyNotEnumerable(Math.trunc, "length");
-verifyNotWritable(Math.trunc, "length");
-verifyConfigurable(Math.trunc, "length");
+verifyProperty(Math.trunc, "length", {
+ value: 1,
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/trunc/name.js b/js/src/tests/test262/built-ins/Math/trunc/name.js
index 25f8a0cc3c..c351b444f3 100644
--- a/js/src/tests/test262/built-ins/Math/trunc/name.js
+++ b/js/src/tests/test262/built-ins/Math/trunc/name.js
@@ -19,10 +19,11 @@ info: |
includes: [propertyHelper.js]
---*/
-assert.sameValue(Math.trunc.name, "trunc");
-
-verifyNotEnumerable(Math.trunc, "name");
-verifyNotWritable(Math.trunc, "name");
-verifyConfigurable(Math.trunc, "name");
+verifyProperty(Math.trunc, "name", {
+ value: "trunc",
+ writable: false,
+ enumerable: false,
+ configurable: true
+});
reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/trunc/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/trunc/not-a-constructor.js
index 1a55c671b4..3c928d695c 100644
--- a/js/src/tests/test262/built-ins/Math/trunc/not-a-constructor.js
+++ b/js/src/tests/test262/built-ins/Math/trunc/not-a-constructor.js
@@ -25,7 +25,7 @@ assert.sameValue(isConstructor(Math.trunc), false, 'isConstructor(Math.trunc) mu
assert.throws(TypeError, () => {
new Math.trunc();
-}, '`new Math.trunc()` throws TypeError');
+});
reportCompare(0, 0);