3 function asyncTestPassed() {
7 var fulfills = Promise.race([
8 new Promise(function(resolve) { setTimeout(resolve,200,"foo"); }),
9 new Promise(function(_, reject) { setTimeout(reject, 300,"bar"); }),
11 var rejects = Promise.race([
12 new Promise(function(_, reject) { setTimeout(reject, 200,"baz"); }),
13 new Promise(function(resolve) { setTimeout(resolve,300,"qux"); }),
16 fulfills.then(function(result) { score += (result === "foo"); check(); });
17 rejects.catch(function(result) { score += (result === "baz"); check(); });
20 if (score === 2) asyncTestPassed();
28 throw new Error("Test failed");