blob: c65f8120f82d861969ee6a160f7e95f1c4e600b5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
var g = newGlobal({sameCompartmentAs: this});
var newTarget = g.Function();
newTarget.prototype = undefined;
// Reflect.construct returns an object in the current realm
// but its prototype is g's Array.prototype.
var arr1 = Reflect.construct(Array, [], newTarget);
assertEq(objectGlobal(arr1), this);
assertEq(arr1.__proto__, g.Array.prototype);
// Calling cross-realm slice creates an object in that realm.
for (var i = 0; i < 10; i++) {
var arr2 = arr1.slice();
assertEq(objectGlobal(arr2), g);
}
|