proto-from-ctor-realm.js (1074B)
1 // Copyright (C) 2016 the V8 project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 esid: sec-promise-executor 5 description: Default [[Prototype]] value derived from realm of the newTarget 6 info: | 7 [...] 8 3. Let promise be ? OrdinaryCreateFromConstructor(NewTarget, 9 "%PromisePrototype%", « [[PromiseState]], [[PromiseResult]], 10 [[PromiseFulfillReactions]], [[PromiseRejectReactions]], 11 [[PromiseIsHandled]] »). 12 [...] 13 14 9.1.14 GetPrototypeFromConstructor 15 16 [...] 17 3. Let proto be ? Get(constructor, "prototype"). 18 4. If Type(proto) is not Object, then 19 a. Let realm be ? GetFunctionRealm(constructor). 20 b. Let proto be realm's intrinsic object named intrinsicDefaultProto. 21 [...] 22 features: [cross-realm, Reflect] 23 ---*/ 24 25 var other = $262.createRealm().global; 26 var C = new other.Function(); 27 C.prototype = null; 28 29 var o = Reflect.construct(Promise, [function() {}], C); 30 31 assert.sameValue(Object.getPrototypeOf(o), other.Promise.prototype); 32 33 reportCompare(0, 0);