Index: test/mjsunit/cross-realm-filtering.js |
diff --git a/test/mjsunit/cross-realm-filtering.js b/test/mjsunit/cross-realm-filtering.js |
index 8ac5b8a6462d06b21223edc805ba8a9767e44d98..b4e2520a11b6a983198e1f8f577ad95fa56a95dd 100644 |
--- a/test/mjsunit/cross-realm-filtering.js |
+++ b/test/mjsunit/cross-realm-filtering.js |
@@ -96,6 +96,8 @@ var ctor_a_script = |
var ctor_b_script = "Function.bind(this, 'return 1;')"; |
var ctor_c_script = |
"(function() { return Function.call(this, 'return 1;'); })"; |
+// Also check Promise constructor. |
+var promise_ctor_script = "Promise"; |
Realm.shared = { |
ctor_0 : Realm.eval(realms[0], ctor_script), |
ctor_1 : Realm.eval(realms[1], ctor_script), |
@@ -105,9 +107,12 @@ Realm.shared = { |
ctor_b_1 : Realm.eval(realms[1], ctor_b_script), |
ctor_c_0 : Realm.eval(realms[0], ctor_c_script), |
ctor_c_1 : Realm.eval(realms[1], ctor_c_script), |
+ promise_ctor_0 : Realm.eval(realms[0], promise_ctor_script), |
+ promise_ctor_1 : Realm.eval(realms[1], promise_ctor_script), |
} |
var script_0 = " \ |
var ctor_0 = Realm.shared.ctor_0; \ |
+ var promise_ctor_0 = Realm.shared.promise_ctor_0; \ |
Realm.shared.direct_0 = ctor_0('return 1'); \ |
Realm.shared.indirect_0 = (function() { return ctor_0('return 1;'); })(); \ |
Realm.shared.apply_0 = ctor_0.apply(this, ['return 1']); \ |
@@ -118,6 +123,7 @@ var script_0 = " \ |
Realm.shared.a_0 = Realm.shared.ctor_a_0(); \ |
Realm.shared.b_0 = Realm.shared.ctor_b_0(); \ |
Realm.shared.c_0 = Realm.shared.ctor_c_0(); \ |
+ Realm.shared.p_0 = new promise_ctor_0((res,rej) => res(1)); \ |
"; |
script = script_0 + script_0.replace(/_0/g, "_1"); |
Realm.eval(realms[0], script); |
@@ -131,6 +137,7 @@ assertSame(1, Realm.shared.reflect_0()); |
assertSame(1, Realm.shared.a_0()); |
assertSame(1, Realm.shared.b_0()); |
assertSame(1, Realm.shared.c_0()); |
+assertInstanceof(Realm.shared.p_0, Realm.shared.promise_ctor_0); |
assertSame(undefined, Realm.shared.direct_1); |
assertSame(undefined, Realm.shared.indirect_1); |
assertSame(undefined, Realm.shared.apply_1); |
@@ -141,6 +148,7 @@ assertSame(undefined, Realm.shared.reflect_1); |
assertSame(undefined, Realm.shared.a_1); |
assertSame(undefined, Realm.shared.b_1); |
assertSame(undefined, Realm.shared.c_1); |
+assertSame(undefined, Realm.shared.p_1); |
Realm.eval(realms[1], script); |
assertSame(undefined, Realm.shared.direct_0); |
assertSame(undefined, Realm.shared.indirect_0); |
@@ -152,6 +160,7 @@ assertSame(undefined, Realm.shared.reflect_0); |
assertSame(undefined, Realm.shared.a_0); |
assertSame(undefined, Realm.shared.b_0); |
assertSame(undefined, Realm.shared.c_0); |
+assertSame(undefined, Realm.shared.p_0); |
assertSame(1, Realm.shared.direct_1()); |
assertSame(1, Realm.shared.indirect_1()); |
assertSame(1, Realm.shared.apply_1()); |
@@ -162,3 +171,4 @@ assertSame(1, Realm.shared.reflect_1()); |
assertSame(1, Realm.shared.a_1()); |
assertSame(1, Realm.shared.b_1()); |
assertSame(1, Realm.shared.c_1()); |
+assertInstanceof(Realm.shared.p_1, Realm.shared.promise_ctor_1); |