mirror of
https://github.com/tc39/test262.git
synced 2025-04-08 19:35:28 +02:00
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
30 lines
759 B
JavaScript
30 lines
759 B
JavaScript
function test() {
|
|
var passed = false;
|
|
function asyncTestPassed() {
|
|
passed = true;
|
|
}
|
|
|
|
var fulfills = Promise.race([
|
|
new Promise(function(resolve) { setTimeout(resolve,200,"foo"); }),
|
|
new Promise(function(_, reject) { setTimeout(reject, 300,"bar"); }),
|
|
]);
|
|
var rejects = Promise.race([
|
|
new Promise(function(_, reject) { setTimeout(reject, 200,"baz"); }),
|
|
new Promise(function(resolve) { setTimeout(resolve,300,"qux"); }),
|
|
]);
|
|
var score = 0;
|
|
fulfills.then(function(result) { score += (result === "foo"); check(); });
|
|
rejects.catch(function(result) { score += (result === "baz"); check(); });
|
|
|
|
function check() {
|
|
if (score === 2) asyncTestPassed();
|
|
}
|
|
|
|
drainMicrotasks();
|
|
return passed;
|
|
}
|
|
|
|
if (!test())
|
|
throw new Error("Test failed");
|
|
|