settle-now-breaks-all-invariants-1.js (603B)
1 // Test we don't assert when the promise is settled after enqueuing a PromiseReactionJob. 2 3 function newPromiseCapability() { 4 var resolve, reject, promise = new Promise(function(r1, r2) { 5 resolve = r1; 6 reject = r2; 7 }); 8 return {promise, resolve, reject}; 9 } 10 11 12 var {promise, resolve} = newPromiseCapability(); 13 14 var p = Promise.resolve(0); 15 16 // Enqueue a PromiseResolveThenableJob followed by a PromiseReactionJob. 17 resolve(p); 18 19 // The PromiseReactionJob expects a pending promise, but this settlePromiseNow 20 // call will already have settled the promise. 21 settlePromiseNow(promise);