summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Tuple/cross-realm.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/tests/non262/Tuple/cross-realm.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/js/src/tests/non262/Tuple/cross-realm.js b/js/src/tests/non262/Tuple/cross-realm.js
new file mode 100644
index 0000000000..ca385c7ca4
--- /dev/null
+++ b/js/src/tests/non262/Tuple/cross-realm.js
@@ -0,0 +1,22 @@
+// |reftest| skip-if(!this.hasOwnProperty("Tuple"))
+
+const realm = newGlobal();
+
+const realm_TupleConstructor = realm.eval("Tuple");
+const realm_tuple = realm.eval(`
+ var tuple = Tuple(1, 2, 3);
+ tuple;
+`);
+
+assertEq(realm_tuple === #[1, 2, 3], true);
+assertEq(realm_tuple.constructor, Tuple);
+assertEq(realm.eval("tuple.constructor"), realm_TupleConstructor);
+
+realm_TupleConstructor.prototype.foo = 42;
+assertEq(realm.eval("tuple.foo"), 42);
+assertEq(realm_tuple.foo, undefined);
+
+assertEq("foo" in Object(realm_tuple), false);
+assertEq(realm.eval(`"foo" in Object(tuple)`), true);
+
+if (typeof reportCompare === "function") reportCompare(0, 0);