summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Tuple/equality.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/Tuple/equality.js')
-rw-r--r--js/src/tests/non262/Tuple/equality.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/tests/non262/Tuple/equality.js b/js/src/tests/non262/Tuple/equality.js
new file mode 100644
index 0000000000..4e85d9bb59
--- /dev/null
+++ b/js/src/tests/non262/Tuple/equality.js
@@ -0,0 +1,32 @@
+// |reftest| skip-if(!this.hasOwnProperty("Tuple"))
+
+let simple1 = #[1, 2];
+let simple2 = #[1, 2];
+let simpleDiff = #[0, 2];
+let simpleDiff2 = #[1];
+
+assertEq(simple1 === simple2, true);
+assertEq(simple1 === simpleDiff, false);
+assertEq(simple1 === simpleDiff2, false);
+
+let withPositiveZero = #[1, 2, +0];
+let withPositiveZero2 = #[1, 2, +0];
+let withNegativeZero = #[1, 2, -0];
+
+assertEq(withPositiveZero === withPositiveZero2, true);
+assertEq(Object.is(withPositiveZero, withPositiveZero2), true);
+assertEq(#[withPositiveZero] === #[withPositiveZero2], true);
+assertEq(Object.is(#[withPositiveZero], #[withPositiveZero2]), true);
+
+assertEq(withPositiveZero === withNegativeZero, true);
+assertEq(Object.is(withPositiveZero, withNegativeZero), false);
+assertEq(#[withPositiveZero] === #[withNegativeZero], true);
+assertEq(Object.is(#[withPositiveZero], #[withNegativeZero]), false);
+
+let withNaN = #[1, NaN, 2];
+let withNaN2 = #[1, NaN, 2];
+
+assertEq(withNaN === withNaN2, true);
+assertEq(Object.is(withNaN, withNaN2), true);
+
+if (typeof reportCompare === "function") reportCompare(0, 0);