| // This code is governed by the BSD license found in the LICENSE file. |
| description: Resolving with a reference to the promise itself |
| 6. Let promiseCapability be NewPromiseCapability(C). |
| 11. Let result be PerformPromiseRace(iteratorRecord, promiseCapability, C). |
| 25.4.4.3.1 Runtime Semantics: PerformPromiseRace |
| j. Let result be Invoke(nextPromise, "then", |
| «promiseCapability.[[Resolve]], promiseCapability.[[Reject]]»). |
| 25.4.1.3.2 Promise Resolve Functions |
| 6. If SameValue(resolution, promise) is true, then |
| a. Let selfResolutionError be a newly created TypeError object. |
| b. Return RejectPromise(promise, selfResolutionError). |
| var builtinResolve = Promise.resolve; |
| Promise.resolve = function(v) { return v; }; |
| self = Promise.race([thenable]); |
| Promise.resolve = builtinResolve; |
| $DONE('The promise should not be fulfilled.'); |
| $DONE('The promise should be rejected with a value.'); |
| if (value.constructor !== TypeError) { |
| $DONE('The promise should be rejected with a TypeError instance.'); |