diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index da3971ea5f..1276735639 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -128,6 +128,8 @@ This tag is for boolean properties associated with the test. - **`raw`** - execute the test without any modification (no helpers will be available); necessary to test the behavior of directive prologue; implies `noStrict` +- **`async`** - defer interpretation of test results until after the invocation + of the global $DONE` function #### features **features**: [list] @@ -198,7 +200,7 @@ assert.throws(ReferenceError, function() { ## Writing Asynchronous Tests -An asynchronous test is any test that includes the string `$DONE` anywhere in the test file. The test runner checks for the presence of this string; if it is found, the runner expects that the `$DONE()` function will be called to signal test completion. +An asynchronous test is any test that include the `async` frontmatter flag. When executing such tests, the runner expects that the global `$DONE()` function will be called to signal test completion. * If the argument to `$DONE` is omitted, is `undefined`, or is any other falsy value, the test is considered to have passed. diff --git a/test/built-ins/Promise/S25.4.3.1_A2.3_T1.js b/test/built-ins/Promise/S25.4.3.1_A2.3_T1.js index 01574d12e0..22690161bd 100644 --- a/test/built-ins/Promise/S25.4.3.1_A2.3_T1.js +++ b/test/built-ins/Promise/S25.4.3.1_A2.3_T1.js @@ -7,6 +7,7 @@ info: > es6id: S25.4.3.1_A2.3_T1 author: Sam Mikes description: Promise.call(resolved Promise) throws TypeError +flags: [async] ---*/ var p = new Promise(function(resolve) { resolve(1); }); diff --git a/test/built-ins/Promise/S25.4.3.1_A2.4_T1.js b/test/built-ins/Promise/S25.4.3.1_A2.4_T1.js index 79666fdfd5..8151f8b66b 100644 --- a/test/built-ins/Promise/S25.4.3.1_A2.4_T1.js +++ b/test/built-ins/Promise/S25.4.3.1_A2.4_T1.js @@ -7,6 +7,7 @@ info: > es6id: S25.4.3.1_A2.4_T1 author: Sam Mikes description: Promise.call(rejected Promise) throws TypeError +flags: [async] ---*/ var p = new Promise(function(resolve, reject) { reject(1) }); diff --git a/test/built-ins/Promise/S25.4.3.1_A4.1_T1.js b/test/built-ins/Promise/S25.4.3.1_A4.1_T1.js index 577cb3c1fd..649418b7ed 100644 --- a/test/built-ins/Promise/S25.4.3.1_A4.1_T1.js +++ b/test/built-ins/Promise/S25.4.3.1_A4.1_T1.js @@ -8,6 +8,7 @@ info: > es6id: S25.4.3.1_A4.1_T1 author: Sam Mikes description: new Promise(function () { throw }) should reject +flags: [async] ---*/ var errorObject = {}, diff --git a/test/built-ins/Promise/S25.4.3.1_A5.1_T1.js b/test/built-ins/Promise/S25.4.3.1_A5.1_T1.js index 5ad54e7568..f74ccebdd1 100644 --- a/test/built-ins/Promise/S25.4.3.1_A5.1_T1.js +++ b/test/built-ins/Promise/S25.4.3.1_A5.1_T1.js @@ -9,7 +9,7 @@ info: > es6id: S25.4.3.1_A5.1_T1 author: Sam Mikes description: Promise executor gets default handling for 'this' -flags: [noStrict] +flags: [async, noStrict] includes: [fnGlobalObject.js] ---*/ diff --git a/test/built-ins/Promise/S25.4.3.1_A5.1_T2.js b/test/built-ins/Promise/S25.4.3.1_A5.1_T2.js index a3dde91926..c8458c9be8 100644 --- a/test/built-ins/Promise/S25.4.3.1_A5.1_T2.js +++ b/test/built-ins/Promise/S25.4.3.1_A5.1_T2.js @@ -9,7 +9,7 @@ info: > es6id: S25.4.3.1_A5.1_T2 author: Sam Mikes description: Promise executor gets default handling for 'this' -flags: [onlyStrict] +flags: [async, onlyStrict] ---*/ var expectedThis = undefined; diff --git a/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js index 9cd7d17154..a34fb70f6d 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js @@ -7,6 +7,7 @@ es6id: 25.4.4.1_A2.2_T1 author: Sam Mikes includes: [PromiseHelper.js] description: Promise.all([]) returns immediately +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js index fe60c2a75e..1b61ede66d 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js @@ -6,6 +6,7 @@ info: Promise.all([]) returns a promise for a new empty array es6id: 25.4.4.1_A2.3_T1 author: Sam Mikes description: Promise.all([]) returns a promise for an array +flags: [async] ---*/ var arg = []; diff --git a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js index fdfeb567c1..77cd2628e0 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js @@ -6,6 +6,7 @@ info: Promise.all is resolved with a new empty array es6id: 25.4.4.1_A2.3_T2 author: Sam Mikes description: Promise.all([]) returns a Promise for an empty array +flags: [async] ---*/ var arg = []; diff --git a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js index c936a4d755..5dc1568eb6 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js @@ -6,6 +6,7 @@ info: Promise.all([]) is resolved with Promise for a new empty array es6id: 25.4.4.1_A2.3_T3 author: Sam Mikes description: Promise.all([]) is resolved with a Promise for a new array +flags: [async] ---*/ var arg = []; diff --git a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js index 52023add13..3022972a31 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js @@ -9,6 +9,7 @@ info: > es6id: 25.4.4.1_A3.1_T1 author: Sam Mikes description: Promise.all(3) returns Promise rejected with TypeError +flags: [async] ---*/ var nonIterable = 3; diff --git a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js index e046428242..b17b422697 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js @@ -10,6 +10,7 @@ info: > es6id: S25.4.4.1_A3.1_T2 author: Sam Mikes description: Promise.all(new Error()) returns Promise rejected with TypeError +flags: [async] ---*/ Promise.all(new Error("abrupt")).then(function () { diff --git a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js index 568d5d1708..73b5230b43 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js @@ -9,6 +9,7 @@ es6id: S25.4.4.1_A3.1_T3 author: Sam Mikes description: Promise.all((throw on GetIterator)) returns Promise rejected with TypeError features: [Symbol.iterator] +flags: [async] ---*/ var iterThrows = {}; diff --git a/test/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js index 31acd2a6a3..1720f8ede7 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js @@ -9,6 +9,7 @@ es6id: S25.4.4.1_A5.1_T1 author: Sam Mikes description: iterator.next throws, causing Promise.all to reject features: [Symbol.iterator] +flags: [async] ---*/ var iterThrows = {}; diff --git a/test/built-ins/Promise/all/S25.4.4.1_A6.1_T2.js b/test/built-ins/Promise/all/S25.4.4.1_A6.1_T2.js index ef9f9dbe9c..3671b7bb15 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A6.1_T2.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A6.1_T2.js @@ -8,6 +8,7 @@ info: > es6id: S25.4.4.1_A6.1_T2 author: Sam Mikes description: Promise.all([]) returns a promise for an empty array +flags: [async] ---*/ var p = Promise.all([]); diff --git a/test/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js index cc1152b0e5..4b0636e0c3 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js @@ -8,6 +8,7 @@ info: > es6id: S25.4.4.1_A6.1_T2 author: Sam Mikes description: Promise.all([p1]) is resolved with a promise for a one-element array +flags: [async] ---*/ var p1 = Promise.resolve(3); diff --git a/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js index 10fd498955..2ce3ad82a9 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js @@ -9,6 +9,7 @@ es6id: S25.4.4.1_A7.2_T1 author: Sam Mikes description: Promise.all() accepts a one-element array includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js index 7e3df638ec..d9e9cac5a0 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js @@ -6,6 +6,7 @@ es6id: S25.4.4.1_A8.1_T1 author: Sam Mikes description: Promise.all([p1, p2]) resolution functions are called in predictable sequence includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js index 2bc4ba3635..e8f1320f71 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js @@ -8,6 +8,7 @@ es6id: S25.4.4.1_A8.1_T1 author: Sam Mikes description: Promise.all() rejects when a promise in its array rejects includes: [PromiseHelper.js] +flags: [async] ---*/ var rejectP1, diff --git a/test/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js b/test/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js index fdd2d449ae..58151d1405 100644 --- a/test/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js +++ b/test/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js @@ -8,6 +8,7 @@ es6id: S25.4.4.1_A8.2_T2 author: Sam Mikes description: Promise.all() rejects when second promise in array rejects includes: [PromiseHelper.js] +flags: [async] ---*/ var rejectP2, diff --git a/test/built-ins/Promise/all/does-not-invoke-array-setters.js b/test/built-ins/Promise/all/does-not-invoke-array-setters.js index baac7abebe..364204a8a6 100755 --- a/test/built-ins/Promise/all/does-not-invoke-array-setters.js +++ b/test/built-ins/Promise/all/does-not-invoke-array-setters.js @@ -24,6 +24,7 @@ info: > a. Let status be CreateDataProperty(array, ToString(n), e). b. Assert: status is true. ... +flags: [async] ---*/ Object.defineProperty(Array.prototype, 0, { diff --git a/test/built-ins/Promise/all/invoke-resolve-get-error.js b/test/built-ins/Promise/all/invoke-resolve-get-error.js index d7b7a092ca..70c220f0b9 100644 --- a/test/built-ins/Promise/all/invoke-resolve-get-error.js +++ b/test/built-ins/Promise/all/invoke-resolve-get-error.js @@ -21,6 +21,7 @@ info: > [...] i. Let nextPromise be Invoke(constructor, "resolve", «nextValue»). j. ReturnIfAbrupt(nextPromise ). +flags: [async] ---*/ var error = new Test262Error(); diff --git a/test/built-ins/Promise/all/invoke-then-error.js b/test/built-ins/Promise/all/invoke-then-error.js index 957093f2b5..a3fef19b00 100644 --- a/test/built-ins/Promise/all/invoke-then-error.js +++ b/test/built-ins/Promise/all/invoke-then-error.js @@ -22,6 +22,7 @@ info: > r. Let result be Invoke(nextPromise, "then", «resolveElement, resultCapability.[[Reject]]»). s. ReturnIfAbrupt(result). +flags: [async] ---*/ var promise = new Promise(function() {}); diff --git a/test/built-ins/Promise/all/iter-next-val-err.js b/test/built-ins/Promise/all/iter-next-val-err.js index 902e7823e8..20a4d8f8e2 100644 --- a/test/built-ins/Promise/all/iter-next-val-err.js +++ b/test/built-ins/Promise/all/iter-next-val-err.js @@ -24,6 +24,7 @@ info: > true. g. ReturnIfAbrupt(nextValue). features: [Symbol.iterator] +flags: [async] ---*/ var iterNextValThrows = {}; diff --git a/test/built-ins/Promise/all/iter-step-err.js b/test/built-ins/Promise/all/iter-step-err.js index 6dcf6c7615..9ef1430b88 100644 --- a/test/built-ins/Promise/all/iter-step-err.js +++ b/test/built-ins/Promise/all/iter-step-err.js @@ -23,6 +23,7 @@ info: > true. c. ReturnIfAbrupt(next). features: [Symbol.iterator] +flags: [async] ---*/ var iterStepThrows = {}; diff --git a/test/built-ins/Promise/all/reject-deferred.js b/test/built-ins/Promise/all/reject-deferred.js index 6b7d43a1ea..785fe8fdec 100644 --- a/test/built-ins/Promise/all/reject-deferred.js +++ b/test/built-ins/Promise/all/reject-deferred.js @@ -20,6 +20,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var thenable = { diff --git a/test/built-ins/Promise/all/reject-ignored-deferred.js b/test/built-ins/Promise/all/reject-ignored-deferred.js index 874e1d40f4..aaf33eca18 100644 --- a/test/built-ins/Promise/all/reject-ignored-deferred.js +++ b/test/built-ins/Promise/all/reject-ignored-deferred.js @@ -25,6 +25,7 @@ info: > 3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal slot. 4. If alreadyResolved.[[value]] is true, return undefined. +flags: [async] ---*/ var fulfiller = { diff --git a/test/built-ins/Promise/all/reject-ignored-immed.js b/test/built-ins/Promise/all/reject-ignored-immed.js index 6ef29d1c6b..9f3e190ca5 100644 --- a/test/built-ins/Promise/all/reject-ignored-immed.js +++ b/test/built-ins/Promise/all/reject-ignored-immed.js @@ -25,6 +25,7 @@ info: > 3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal slot. 4. If alreadyResolved.[[value]] is true, return undefined. +flags: [async] ---*/ var fulfiller = { diff --git a/test/built-ins/Promise/all/reject-immed.js b/test/built-ins/Promise/all/reject-immed.js index ce7ff4c490..74560c7772 100644 --- a/test/built-ins/Promise/all/reject-immed.js +++ b/test/built-ins/Promise/all/reject-immed.js @@ -20,6 +20,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var thenable = { diff --git a/test/built-ins/Promise/all/resolve-non-thenable.js b/test/built-ins/Promise/all/resolve-non-thenable.js index 659e10a219..0c2905a64b 100644 --- a/test/built-ins/Promise/all/resolve-non-thenable.js +++ b/test/built-ins/Promise/all/resolve-non-thenable.js @@ -31,6 +31,7 @@ info: > 10. Let thenAction be then.[[value]]. 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var v1 = {}; diff --git a/test/built-ins/Promise/all/resolve-poisoned-then.js b/test/built-ins/Promise/all/resolve-poisoned-then.js index b8a17cf4f6..0d4722e10d 100644 --- a/test/built-ins/Promise/all/resolve-poisoned-then.js +++ b/test/built-ins/Promise/all/resolve-poisoned-then.js @@ -40,6 +40,7 @@ info: > 8. Let then be Get(resolution, "then"). 9. If then is an abrupt completion, then a. Return RejectPromise(promise, then.[[value]]). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/all/resolve-thenable.js b/test/built-ins/Promise/all/resolve-thenable.js index 99b32585d8..4651422d0b 100644 --- a/test/built-ins/Promise/all/resolve-thenable.js +++ b/test/built-ins/Promise/all/resolve-thenable.js @@ -45,6 +45,7 @@ info: > [...] 12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob, «promise, resolution, thenAction») +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/exception-after-resolve-in-executor.js b/test/built-ins/Promise/exception-after-resolve-in-executor.js index 747c562797..b5ae4ee5a8 100755 --- a/test/built-ins/Promise/exception-after-resolve-in-executor.js +++ b/test/built-ins/Promise/exception-after-resolve-in-executor.js @@ -15,6 +15,7 @@ info: > a. Let status be Call(resolvingFunctions.[[Reject]], undefined, «completion.[[value]]»). b. ReturnIfAbrupt(status). ... +flags: [async] ---*/ var thenable = { diff --git a/test/built-ins/Promise/exception-after-resolve-in-thenable-job.js b/test/built-ins/Promise/exception-after-resolve-in-thenable-job.js index f10db969b1..3cd4585edc 100755 --- a/test/built-ins/Promise/exception-after-resolve-in-thenable-job.js +++ b/test/built-ins/Promise/exception-after-resolve-in-thenable-job.js @@ -14,6 +14,7 @@ info: > a. Let status be Call(resolvingFunctions.[[Reject]], undefined, «thenCallResult.[[value]]») b. NextJob Completion(status). ... +flags: [async] ---*/ var thenable = { diff --git a/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js b/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js index 036905899f..6bfb34c1d4 100644 --- a/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js +++ b/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js @@ -7,6 +7,7 @@ info: > es6id: S25.4.5.1_A3.1_T1 author: Sam Mikes description: catch is implemented in terms of then +flags: [async] ---*/ var obj = {}; diff --git a/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js b/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js index a1624e1620..fd2cff8d2b 100644 --- a/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js +++ b/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js @@ -7,6 +7,7 @@ info: > es6id: S25.4.5.1_A3.1_T2 author: Sam Mikes description: catch is implemented in terms of then +flags: [async] ---*/ var obj = {}; diff --git a/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js b/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js index f248d345cc..a1c2edcc7e 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js +++ b/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js @@ -9,6 +9,7 @@ es6id: S25.4.2.1_A3.2_T2 author: Sam Mikes description: Promise onResolved functions are called in predictable sequence includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js index 1daafe5527..33c1f555a5 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js +++ b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js @@ -10,6 +10,7 @@ es6id: S25.4.4_A2.1_T1 author: Sam Mikes description: Promise onResolved functions are called in predictable sequence includes: [PromiseHelper.js] +flags: [async] ---*/ var resolveP1, rejectP2, sequence = []; diff --git a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js index 8bebe81877..b5bf2c89e6 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js +++ b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js @@ -10,6 +10,7 @@ es6id: S25.4.4_A2.1_T2 author: Sam Mikes description: Promise onResolved functions are called in predictable sequence includes: [PromiseHelper.js] +flags: [async] ---*/ var resolveP1, rejectP2, p1, p2, diff --git a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js index 2476658a1f..17992e0011 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js +++ b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js @@ -10,6 +10,7 @@ es6id: S25.4.4_A2.1_T3 author: Sam Mikes description: Promise onResolved functions are called in predictable sequence includes: [PromiseHelper.js] +flags: [async] ---*/ var resolveP1, rejectP2, p1, p2, diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js index 960604db5b..e70669dcfc 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js +++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js @@ -8,6 +8,7 @@ info: > es6id: S25.4.5.3_A4.1_T1 author: Sam Mikes description: Promise.prototype.then accepts 'undefined' as arg1, arg2 +flags: [async] ---*/ var obj = {}; diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js index 3c817f4f8c..660cc633b3 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js +++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js @@ -8,6 +8,7 @@ info: > es6id: S25.4.5.3_A4.1_T2 author: Sam Mikes description: Promise.prototype.then accepts 'undefined' as arg1, arg2 +flags: [async] ---*/ var obj = {}; diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js index 978e1b52ab..76e1b6f4ec 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js +++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js @@ -8,6 +8,7 @@ info: > es6id: S25.4.5.3_A4.2_T1 author: Sam Mikes description: Promise.prototype.then treats non-callable arg1, arg2 as undefined +flags: [async] ---*/ var obj = {}; diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js index 41bec78e6b..37e3efb5b2 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js +++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js @@ -8,6 +8,7 @@ info: > es6id: S25.4.5.3_A4.2_T2 author: Sam Mikes description: Promise.prototype.then treats non-callable arg1, arg2 as undefined +flags: [async] ---*/ var obj = {}; diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js index c10f534037..b97ae3fc9a 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js +++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js @@ -9,6 +9,7 @@ es6id: S25.4.5.3_A5.1_T1 author: Sam Mikes description: Promise.prototype.then enqueues handler if pending includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = [], diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js index 46c05ad917..92ad8b82d4 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js +++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js @@ -9,6 +9,7 @@ es6id: S25.4.5.3_A5.2_T1 author: Sam Mikes description: Promise.prototype.then immediately queues handler if fulfilled includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = [], diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js index d41180713f..27c65f2692 100644 --- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js +++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js @@ -9,6 +9,7 @@ es6id: S25.4.5.3_A5.3_T1 author: Sam Mikes description: Promise.prototype.then immediately queues handler if rejected includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = [], diff --git a/test/built-ins/Promise/prototype/then/deferred-is-resolved-value.js b/test/built-ins/Promise/prototype/then/deferred-is-resolved-value.js index 62063fde45..4b471cd016 100755 --- a/test/built-ins/Promise/prototype/then/deferred-is-resolved-value.js +++ b/test/built-ins/Promise/prototype/then/deferred-is-resolved-value.js @@ -34,6 +34,7 @@ info: > 8. Let status be Call(promiseCapability.[[Resolve]], undefined, «handlerResult.[[value]]»). 9. NextJob Completion(status). features: [class] +flags: [async] ---*/ var createBadPromise = false; diff --git a/test/built-ins/Promise/prototype/then/prfm-fulfilled.js b/test/built-ins/Promise/prototype/then/prfm-fulfilled.js index ac49fee03e..3d8ddee077 100644 --- a/test/built-ins/Promise/prototype/then/prfm-fulfilled.js +++ b/test/built-ins/Promise/prototype/then/prfm-fulfilled.js @@ -16,6 +16,7 @@ info: > b. Perform EnqueueJob("PromiseJobs", PromiseReactionJob, «fulfillReaction, value»). [...] +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/prfm-pending-fulfulled.js b/test/built-ins/Promise/prototype/then/prfm-pending-fulfulled.js index b0d63c056e..94f4b14007 100644 --- a/test/built-ins/Promise/prototype/then/prfm-pending-fulfulled.js +++ b/test/built-ins/Promise/prototype/then/prfm-pending-fulfulled.js @@ -16,6 +16,7 @@ info: > b. Append rejectReaction as the last element of the List that is the value of promise's [[PromiseRejectReactions]] internal slot. [...] +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/prfm-pending-rejected.js b/test/built-ins/Promise/prototype/then/prfm-pending-rejected.js index 23afce4b32..083df48d76 100644 --- a/test/built-ins/Promise/prototype/then/prfm-pending-rejected.js +++ b/test/built-ins/Promise/prototype/then/prfm-pending-rejected.js @@ -16,6 +16,7 @@ info: > b. Append rejectReaction as the last element of the List that is the value of promise's [[PromiseRejectReactions]] internal slot. [...] +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/prfm-rejected.js b/test/built-ins/Promise/prototype/then/prfm-rejected.js index 727eea81f1..6e91adcda0 100644 --- a/test/built-ins/Promise/prototype/then/prfm-rejected.js +++ b/test/built-ins/Promise/prototype/then/prfm-rejected.js @@ -16,6 +16,7 @@ info: > b. Perform EnqueueJob("PromiseJobs", PromiseReactionJob, «rejectReaction, reason»). [...] +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/reject-pending-fulfilled.js b/test/built-ins/Promise/prototype/then/reject-pending-fulfilled.js index f89ea8a8a8..07584596ed 100644 --- a/test/built-ins/Promise/prototype/then/reject-pending-fulfilled.js +++ b/test/built-ins/Promise/prototype/then/reject-pending-fulfilled.js @@ -18,6 +18,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var resolve; diff --git a/test/built-ins/Promise/prototype/then/reject-pending-rejected.js b/test/built-ins/Promise/prototype/then/reject-pending-rejected.js index fee4066199..bcbca0d1af 100644 --- a/test/built-ins/Promise/prototype/then/reject-pending-rejected.js +++ b/test/built-ins/Promise/prototype/then/reject-pending-rejected.js @@ -19,6 +19,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var reject; diff --git a/test/built-ins/Promise/prototype/then/reject-settled-fulfilled.js b/test/built-ins/Promise/prototype/then/reject-settled-fulfilled.js index bc638eaf51..32a0a6a3b1 100644 --- a/test/built-ins/Promise/prototype/then/reject-settled-fulfilled.js +++ b/test/built-ins/Promise/prototype/then/reject-settled-fulfilled.js @@ -26,6 +26,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var thenable = new Promise(function(resolve) { resolve(); }); diff --git a/test/built-ins/Promise/prototype/then/reject-settled-rejected.js b/test/built-ins/Promise/prototype/then/reject-settled-rejected.js index 487b94444c..042fa25594 100644 --- a/test/built-ins/Promise/prototype/then/reject-settled-rejected.js +++ b/test/built-ins/Promise/prototype/then/reject-settled-rejected.js @@ -26,6 +26,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var thenable = new Promise(function(resolve) { resolve(); }); diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-obj.js b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-obj.js index 65f95ba0b6..fde854afa6 100644 --- a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-obj.js +++ b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-obj.js @@ -18,6 +18,7 @@ info: > 25.4.1.3.2 Promise Resolve Functions 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var resolve; diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-thenable.js b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-thenable.js index 8012d94a7d..e2ecdf7b7e 100644 --- a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-thenable.js +++ b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-thenable.js @@ -23,6 +23,7 @@ info: > 10. Let thenAction be then.[[value]]. 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var nonThenable = { then: null }; diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-poisoned-then.js b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-poisoned-then.js index 9abf9511e3..1d050c6a31 100644 --- a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-poisoned-then.js +++ b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-poisoned-then.js @@ -20,6 +20,7 @@ info: > 8. Let then be Get(resolution, "then"). 9. If then is an abrupt completion, then a. Return RejectPromise(promise, then.[[value]]). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-self.js b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-self.js index 9a2f1da696..e588fe9405 100644 --- a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-self.js +++ b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-self.js @@ -20,6 +20,7 @@ info: > 6. If SameValue(resolution, promise) is true, then a. Let selfResolutionError be a newly created TypeError object. b. Return RejectPromise(promise, selfResolutionError). +flags: [async] ---*/ var resolve; diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-thenable.js b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-thenable.js index a6153bc8f1..de26a13259 100644 --- a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-thenable.js +++ b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-thenable.js @@ -25,6 +25,7 @@ info: > [...] 12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob, «promise, resolution, thenAction») +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-obj.js b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-obj.js index 576cdf0067..0bbf700b0d 100644 --- a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-obj.js +++ b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-obj.js @@ -19,6 +19,7 @@ info: > 25.4.1.3.2 Promise Resolve Functions 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var reject; diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-thenable.js b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-thenable.js index 95191b0b88..4087ddfee7 100644 --- a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-thenable.js +++ b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-thenable.js @@ -24,6 +24,7 @@ info: > 10. Let thenAction be then.[[value]]. 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var nonThenable = { then: null }; diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-poisoned-then.js b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-poisoned-then.js index f7808d038d..db166e8063 100644 --- a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-poisoned-then.js +++ b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-poisoned-then.js @@ -21,6 +21,7 @@ info: > 8. Let then be Get(resolution, "then"). 9. If then is an abrupt completion, then a. Return RejectPromise(promise, then.[[value]]). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-self.js b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-self.js index 87937e398c..e30f32ec63 100644 --- a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-self.js +++ b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-self.js @@ -21,6 +21,7 @@ info: > 6. If SameValue(resolution, promise) is true, then a. Let selfResolutionError be a newly created TypeError object. b. Return RejectPromise(promise, selfResolutionError). +flags: [async] ---*/ var reject; diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-thenable.js b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-thenable.js index bb33553bd9..1ebbfbcb00 100644 --- a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-thenable.js +++ b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-thenable.js @@ -26,6 +26,7 @@ info: > [...] 12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob, «promise, resolution, thenAction») +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-obj.js b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-obj.js index 35e9e3f7fa..3f39485e50 100644 --- a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-obj.js +++ b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-obj.js @@ -25,6 +25,7 @@ info: > 25.4.1.3.2 Promise Resolve Functions 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var p1 = new Promise(function(resolve) { resolve(); }); diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-thenable.js b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-thenable.js index 07c40145a5..1166af3a7a 100644 --- a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-thenable.js +++ b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-thenable.js @@ -30,6 +30,7 @@ info: > 10. Let thenAction be then.[[value]]. 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var nonThenable = { then: null }; diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-poisoned-then.js b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-poisoned-then.js index ef5a9e0834..9254f36e16 100644 --- a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-poisoned-then.js +++ b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-poisoned-then.js @@ -27,6 +27,7 @@ info: > 8. Let then be Get(resolution, "then"). 9. If then is an abrupt completion, then a. Return RejectPromise(promise, then.[[value]]). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-self.js b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-self.js index d97a348c2b..ac26302473 100644 --- a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-self.js +++ b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-self.js @@ -27,6 +27,7 @@ info: > 6. If SameValue(resolution, promise) is true, then a. Let selfResolutionError be a newly created TypeError object. b. Return RejectPromise(promise, selfResolutionError). +flags: [async] ---*/ var p1 = new Promise(function(resolve) { resolve(); }); diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-thenable.js b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-thenable.js index 86691de55c..447c248b5f 100644 --- a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-thenable.js +++ b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-thenable.js @@ -32,6 +32,7 @@ info: > [...] 12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob, «promise, resolution, thenAction») +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-obj.js b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-obj.js index f9151850dc..bd1ccb9504 100644 --- a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-obj.js +++ b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-obj.js @@ -25,6 +25,7 @@ info: > 25.4.1.3.2 Promise Resolve Functions 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var p1 = new Promise(function(_, reject) { reject(); }); diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-thenable.js b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-thenable.js index 421376088f..92c48e7b88 100644 --- a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-thenable.js +++ b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-thenable.js @@ -30,6 +30,7 @@ info: > 10. Let thenAction be then.[[value]]. 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var nonThenable = { then: null }; diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-poisoned-then.js b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-poisoned-then.js index 785f557b7b..b276b27ac0 100644 --- a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-poisoned-then.js +++ b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-poisoned-then.js @@ -27,6 +27,7 @@ info: > 8. Let then be Get(resolution, "then"). 9. If then is an abrupt completion, then a. Return RejectPromise(promise, then.[[value]]). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-self.js b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-self.js index cfdf3e4b0a..5aa5d6a2ee 100644 --- a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-self.js +++ b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-self.js @@ -27,6 +27,7 @@ info: > 6. If SameValue(resolution, promise) is true, then a. Let selfResolutionError be a newly created TypeError object. b. Return RejectPromise(promise, selfResolutionError). +flags: [async] ---*/ var p1 = new Promise(function(_, reject) { reject(); }); diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-thenable.js b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-thenable.js index 9d1ee3f629..65656f39f1 100644 --- a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-thenable.js +++ b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-thenable.js @@ -32,6 +32,7 @@ info: > [...] 12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob, «promise, resolution, thenAction») +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-nonstrict.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-nonstrict.js index c149da931a..7861def381 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-nonstrict.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-nonstrict.js @@ -9,7 +9,7 @@ es6id: S25.4.2.1_A3.1_T1 author: Sam Mikes description: > "fulfilled" handler invoked correctly outside of strict mode -flags: [noStrict] +flags: [async, noStrict] includes: [fnGlobalObject.js] ---*/ diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-strict.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-strict.js index 33068c06e4..fef11c32c0 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-strict.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-strict.js @@ -9,7 +9,7 @@ es6id: S25.4.2.1_A3.1_T2 author: Sam Mikes description: > "fulfilled" handler invoked correctly in strict mode -flags: [onlyStrict] +flags: [async, onlyStrict] ---*/ var expectedThis = undefined, diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next-abrupt.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next-abrupt.js index 00d6aeff04..06816900d4 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next-abrupt.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next-abrupt.js @@ -12,6 +12,7 @@ info: > 8. Let status be Call(promiseCapability.[[Resolve]], undefined, «handlerResult.[[value]]»). 9. NextJob Completion(status). +flags: [async] ---*/ var promise = new Promise(function(resolve) { diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next.js index 1443459a16..287036209f 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next.js @@ -12,6 +12,7 @@ info: > 8. Let status be Call(promiseCapability.[[Resolve]], undefined, «handlerResult.[[value]]»). 9. NextJob Completion(status). +flags: [async] ---*/ var promise = new Promise(function(resolve) { diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-abrupt.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-abrupt.js index 429c3171f5..88ad121f22 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-abrupt.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-abrupt.js @@ -25,6 +25,7 @@ info: > 8. Let status be Call(promiseCapability.[[Resolve]], undefined, «handlerResult.[[value]]»). 9. NextJob Completion(status). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-normal.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-normal.js index 4437d5fb73..752068bc41 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-normal.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-normal.js @@ -25,6 +25,7 @@ info: > 8. Let status be Call(promiseCapability.[[Resolve]], undefined, «handlerResult.[[value]]»). 9. NextJob Completion(status). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-identity.js b/test/built-ins/Promise/prototype/then/rxn-handler-identity.js index 6230f9c9be..1537319457 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-identity.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-identity.js @@ -7,6 +7,7 @@ info: > es6id: S25.4.2.1_A1.1_T1 author: Sam Mikes description: argument passes through "Identity" +flags: [async] ---*/ var obj = {}; diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-nonstrict.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-nonstrict.js index ee2bff3722..d01480d0c9 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-nonstrict.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-nonstrict.js @@ -9,7 +9,7 @@ es6id: S25.4.2.1_A3.2_T1 author: Sam Mikes description: > "rejected" handler invoked correctly outside of strict mode -flags: [noStrict] +flags: [async, noStrict] includes: [fnGlobalObject.js] ---*/ diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-strict.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-strict.js index c782ddb9d0..116ea1a141 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-strict.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-strict.js @@ -9,7 +9,7 @@ es6id: S25.4.2.1_A3.2_T2 author: Sam Mikes description: > "rejected" handler invoked correctly in strict mode -flags: [onlyStrict] +flags: [async, onlyStrict] ---*/ var expectedThis = undefined, diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next-abrupt.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next-abrupt.js index 6c3d18b40d..f217bddcbc 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next-abrupt.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next-abrupt.js @@ -12,6 +12,7 @@ info: > 8. Let status be Call(promiseCapability.[[Resolve]], undefined, «handlerResult.[[value]]»). 9. NextJob Completion(status). +flags: [async] ---*/ var promise = new Promise(function(_, reject) { diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next.js index 59a3916b3a..9ab10d84af 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next.js @@ -12,6 +12,7 @@ info: > 8. Let status be Call(promiseCapability.[[Resolve]], undefined, «handlerResult.[[value]]»). 9. NextJob Completion(status). +flags: [async] ---*/ var promise = new Promise(function(_, reject) { diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-abrupt.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-abrupt.js index 5b95a5a042..857e0b6e82 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-abrupt.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-abrupt.js @@ -25,6 +25,7 @@ info: > 8. Let status be Call(promiseCapability.[[Resolve]], undefined, «handlerResult.[[value]]»). 9. NextJob Completion(status). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-normal.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-normal.js index 1277801c50..80adf6382f 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-normal.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-normal.js @@ -25,6 +25,7 @@ info: > 8. Let status be Call(promiseCapability.[[Resolve]], undefined, «handlerResult.[[value]]»). 9. NextJob Completion(status). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-thrower.js b/test/built-ins/Promise/prototype/then/rxn-handler-thrower.js index 437792f970..d2d9cacd8e 100644 --- a/test/built-ins/Promise/prototype/then/rxn-handler-thrower.js +++ b/test/built-ins/Promise/prototype/then/rxn-handler-thrower.js @@ -7,6 +7,7 @@ info: > es6id: S25.4.2.1_A2.1_T1 author: Sam Mikes description: argument thrown through "Thrower" +flags: [async] ---*/ var obj = {}; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js index 70e2f001be..87a7c610a3 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js @@ -6,6 +6,7 @@ info: Promise.race rejects on non-iterable argument es6id: S25.4.4.3_A2.2_T1 author: Sam Mikes description: Promise.race rejects if argument is not object or is non-iterable +flags: [async] ---*/ var nonIterable = 3; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js index e4188ee458..cca9307220 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js @@ -6,6 +6,7 @@ info: Promise.race rejects on non-iterable argument es6id: S25.4.4.3_A2.2_T2 author: Sam Mikes description: Promise.race rejects if argument is not object or is non-iterable +flags: [async] ---*/ Promise.race(new Error("abrupt")).then(function () { diff --git a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js index 1714b4f184..464d621358 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js @@ -10,6 +10,7 @@ es6id: S25.4.4.3_A2.2_T3 author: Sam Mikes description: Promise.race rejects if GetIterator throws features: [Symbol.iterator] +flags: [async] ---*/ var iterThrows = {}; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js index e6228c3739..a325a995be 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js @@ -6,6 +6,7 @@ es6id: S25.4.4.3_A4.1_T1 author: Sam Mikes description: Promise.race rejects if IteratorStep throws features: [Symbol.iterator] +flags: [async] ---*/ var iterThrows = {}; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js b/test/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js index b3158a1e3e..00ac77d1b3 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js @@ -6,6 +6,7 @@ es6id: S25.4.4.3_A4.1_T2 author: Sam Mikes description: Promise.race rejects if IteratorStep throws features: [Symbol.iterator] +flags: [async] ---*/ var iterThrows = {}; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A5.1_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A5.1_T1.js index cc9042d2a7..e5b7526fde 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A5.1_T1.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A5.1_T1.js @@ -5,6 +5,7 @@ es6id: S25.4.4.3_A5.1_T1 author: Sam Mikes description: Promise.race([]) never settles +flags: [async] ---*/ var p = Promise.race([]); diff --git a/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js index e3a8cb6088..99c327c5ce 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js @@ -6,6 +6,7 @@ es6id: S25.4.4.3_A6.1_T1 author: Sam Mikes description: Promise.race([1]) settles immediately includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js index 35b71d966b..93468f8693 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js @@ -6,6 +6,7 @@ es6id: S25.4.4.3_A6.2_T1 author: Sam Mikes description: Promise.race([p1]) settles immediately includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js index 8e5636a79f..9f0848429f 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js @@ -6,6 +6,7 @@ es6id: S25.4.4.3_A7.1_T1 author: Sam Mikes description: Promise.race([p1, p2]) settles when first settles includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js index a07716d6b1..6f4030d7d4 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js @@ -6,6 +6,7 @@ es6id: S25.4.4.3_A7.1_T2 author: Sam Mikes description: Promise.race([p1, p2]) settles when first settles includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js index 941d794743..047dd65d27 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js @@ -6,6 +6,7 @@ es6id: S25.4.4.3_A7.1_T3 author: Sam Mikes description: Promise.race([p1, p2]) settles when first settles includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js index 6dbf6fc956..fbbdcf95ee 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js @@ -6,6 +6,7 @@ es6id: S25.4.4.3_A7.2_T1 author: Sam Mikes description: Promise.race([p1, p2]) settles when first settles includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js index aedf18bfec..02dad7f9df 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js @@ -5,6 +5,7 @@ es6id: S25.4.4.3_A7.3_T1 author: Sam Mikes description: Promise.race([p1, p2]) settles when first settles +flags: [async] ---*/ var resolveP1, rejectP2, diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js b/test/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js index 8609e5dd79..535116ea19 100644 --- a/test/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js +++ b/test/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js @@ -5,6 +5,7 @@ es6id: S25.4.4.3_A7.3_T2 author: Sam Mikes description: Promise.race([p1, p2]) settles when first settles +flags: [async] ---*/ var resolveP1, rejectP2, diff --git a/test/built-ins/Promise/race/invoke-resolve-get-error.js b/test/built-ins/Promise/race/invoke-resolve-get-error.js index 2ed029d5e9..9fa2dc6ad4 100644 --- a/test/built-ins/Promise/race/invoke-resolve-get-error.js +++ b/test/built-ins/Promise/race/invoke-resolve-get-error.js @@ -20,6 +20,7 @@ info: > [...] h. Let nextPromise be Invoke(C, "resolve", «nextValue»). i. ReturnIfAbrupt(nextPromise). +flags: [async] ---*/ var error = new Test262Error(); diff --git a/test/built-ins/Promise/race/invoke-then-error.js b/test/built-ins/Promise/race/invoke-then-error.js index b2f79f5343..184e3ea5b1 100644 --- a/test/built-ins/Promise/race/invoke-then-error.js +++ b/test/built-ins/Promise/race/invoke-then-error.js @@ -21,6 +21,7 @@ info: > j. Let result be Invoke(nextPromise, "then", «promiseCapability.[[Resolve]], promiseCapability.[[Reject]]»). k. ReturnIfAbrupt(result). +flags: [async] ---*/ var promise = new Promise(function() {}); diff --git a/test/built-ins/Promise/race/iter-close.js b/test/built-ins/Promise/race/iter-close.js index 02858893aa..f66dc68c3c 100644 --- a/test/built-ins/Promise/race/iter-close.js +++ b/test/built-ins/Promise/race/iter-close.js @@ -20,6 +20,7 @@ info: > h. Let nextPromise be Invoke(C, "resolve", «nextValue»). i. ReturnIfAbrupt(nextPromise). features: [Symbol.iterator] +flags: [async] ---*/ var err = new Test262Error(); diff --git a/test/built-ins/Promise/race/iter-next-val-err.js b/test/built-ins/Promise/race/iter-next-val-err.js index eca773a9e6..dfa2177a97 100644 --- a/test/built-ins/Promise/race/iter-next-val-err.js +++ b/test/built-ins/Promise/race/iter-next-val-err.js @@ -23,6 +23,7 @@ info: > true. g. ReturnIfAbrupt(nextValue). features: [Symbol.iterator] +flags: [async] ---*/ var iterNextValThrows = {}; diff --git a/test/built-ins/Promise/race/iter-step-err.js b/test/built-ins/Promise/race/iter-step-err.js index e248475500..d7dfd34d31 100644 --- a/test/built-ins/Promise/race/iter-step-err.js +++ b/test/built-ins/Promise/race/iter-step-err.js @@ -19,6 +19,7 @@ info: > b. If next is an abrupt completion, set iteratorRecord.[[done]] to true. c. ReturnIfAbrupt(next). features: [Symbol.iterator] +flags: [async] ---*/ var iterStepThrows = {}; diff --git a/test/built-ins/Promise/race/reject-deferred.js b/test/built-ins/Promise/race/reject-deferred.js index e070cef6e2..5c7d7cd0d5 100644 --- a/test/built-ins/Promise/race/reject-deferred.js +++ b/test/built-ins/Promise/race/reject-deferred.js @@ -19,6 +19,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var thenable = { diff --git a/test/built-ins/Promise/race/reject-ignored-deferred.js b/test/built-ins/Promise/race/reject-ignored-deferred.js index bf63e7328b..4ebc4ac799 100644 --- a/test/built-ins/Promise/race/reject-ignored-deferred.js +++ b/test/built-ins/Promise/race/reject-ignored-deferred.js @@ -24,6 +24,7 @@ info: > 3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal slot. 4. If alreadyResolved.[[value]] is true, return undefined. +flags: [async] ---*/ var fulfiller = { diff --git a/test/built-ins/Promise/race/reject-ignored-immed.js b/test/built-ins/Promise/race/reject-ignored-immed.js index a22eac484f..c1b0885dca 100644 --- a/test/built-ins/Promise/race/reject-ignored-immed.js +++ b/test/built-ins/Promise/race/reject-ignored-immed.js @@ -24,6 +24,7 @@ info: > 3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal slot. 4. If alreadyResolved.[[value]] is true, return undefined. +flags: [async] ---*/ var fulfiller = { diff --git a/test/built-ins/Promise/race/reject-immed.js b/test/built-ins/Promise/race/reject-immed.js index 4cfc9a925f..fd1e645776 100644 --- a/test/built-ins/Promise/race/reject-immed.js +++ b/test/built-ins/Promise/race/reject-immed.js @@ -19,6 +19,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var thenable = { diff --git a/test/built-ins/Promise/race/resolve-non-obj.js b/test/built-ins/Promise/race/resolve-non-obj.js index 6dfd31a9cb..6b39a974ab 100644 --- a/test/built-ins/Promise/race/resolve-non-obj.js +++ b/test/built-ins/Promise/race/resolve-non-obj.js @@ -20,6 +20,7 @@ info: > [...] 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var thenable = { diff --git a/test/built-ins/Promise/race/resolve-non-thenable.js b/test/built-ins/Promise/race/resolve-non-thenable.js index 179ab43445..e5b8671e48 100644 --- a/test/built-ins/Promise/race/resolve-non-thenable.js +++ b/test/built-ins/Promise/race/resolve-non-thenable.js @@ -24,6 +24,7 @@ info: > 10. Let thenAction be then.[[value]]. 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/race/resolve-poisoned-then.js b/test/built-ins/Promise/race/resolve-poisoned-then.js index c25563dad4..1d3470afee 100644 --- a/test/built-ins/Promise/race/resolve-poisoned-then.js +++ b/test/built-ins/Promise/race/resolve-poisoned-then.js @@ -20,6 +20,7 @@ info: > 8. Let then be Get(resolution, "then"). 9. If then is an abrupt completion, then a. Return RejectPromise(promise, then.[[value]]). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/race/resolve-self.js b/test/built-ins/Promise/race/resolve-self.js index 511a03200a..9bf40fc474 100644 --- a/test/built-ins/Promise/race/resolve-self.js +++ b/test/built-ins/Promise/race/resolve-self.js @@ -20,6 +20,7 @@ info: > 6. If SameValue(resolution, promise) is true, then a. Let selfResolutionError be a newly created TypeError object. b. Return RejectPromise(promise, selfResolutionError). +flags: [async] ---*/ var self, resolve; diff --git a/test/built-ins/Promise/race/resolve-thenable.js b/test/built-ins/Promise/race/resolve-thenable.js index 8eb3f059c6..c1512d9c5d 100644 --- a/test/built-ins/Promise/race/resolve-thenable.js +++ b/test/built-ins/Promise/race/resolve-thenable.js @@ -26,6 +26,7 @@ info: > [...] 12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob, «promise, resolution, thenAction») +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/reject-ignored-via-abrupt.js b/test/built-ins/Promise/reject-ignored-via-abrupt.js index f3cb6c7a77..23848a79dd 100644 --- a/test/built-ins/Promise/reject-ignored-via-abrupt.js +++ b/test/built-ins/Promise/reject-ignored-via-abrupt.js @@ -18,6 +18,7 @@ info: > 3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal slot. 4. If alreadyResolved.[[value]] is true, return undefined. +flags: [async] ---*/ var thenable = new Promise(function() {}); diff --git a/test/built-ins/Promise/reject-ignored-via-fn-deferred.js b/test/built-ins/Promise/reject-ignored-via-fn-deferred.js index 10b0d81e03..117722fa14 100644 --- a/test/built-ins/Promise/reject-ignored-via-fn-deferred.js +++ b/test/built-ins/Promise/reject-ignored-via-fn-deferred.js @@ -18,6 +18,7 @@ info: > 3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal slot. 4. If alreadyResolved.[[value]] is true, return undefined. +flags: [async] ---*/ var thenable = new Promise(function() {}); diff --git a/test/built-ins/Promise/reject-ignored-via-fn-immed.js b/test/built-ins/Promise/reject-ignored-via-fn-immed.js index bd856a342f..1e97f5d917 100644 --- a/test/built-ins/Promise/reject-ignored-via-fn-immed.js +++ b/test/built-ins/Promise/reject-ignored-via-fn-immed.js @@ -18,6 +18,7 @@ info: > 3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal slot. 4. If alreadyResolved.[[value]] is true, return undefined. +flags: [async] ---*/ var thenable = new Promise(function() {}); diff --git a/test/built-ins/Promise/reject-via-abrupt.js b/test/built-ins/Promise/reject-via-abrupt.js index 6e608bdc22..2916102000 100644 --- a/test/built-ins/Promise/reject-via-abrupt.js +++ b/test/built-ins/Promise/reject-via-abrupt.js @@ -16,6 +16,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var thenable = new Promise(function() {}); diff --git a/test/built-ins/Promise/reject-via-fn-deferred.js b/test/built-ins/Promise/reject-via-fn-deferred.js index 855d92b410..fca3fcafcb 100644 --- a/test/built-ins/Promise/reject-via-fn-deferred.js +++ b/test/built-ins/Promise/reject-via-fn-deferred.js @@ -14,6 +14,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var thenable = new Promise(function() {}); diff --git a/test/built-ins/Promise/reject-via-fn-immed.js b/test/built-ins/Promise/reject-via-fn-immed.js index 474db80d8b..26e841f7f0 100644 --- a/test/built-ins/Promise/reject-via-fn-immed.js +++ b/test/built-ins/Promise/reject-via-fn-immed.js @@ -14,6 +14,7 @@ info: > 25.4.1.3.1 Promise Reject Functions [...] 6. Return RejectPromise(promise, reason). +flags: [async] ---*/ var thenable = new Promise(function() {}); diff --git a/test/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js b/test/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js index bc589ac13f..0b189e52ae 100644 --- a/test/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js +++ b/test/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js @@ -13,6 +13,7 @@ info: > es6id: 25.4.4.4 author: Sam Mikes description: Promise.reject creates a new settled promise +flags: [async] ---*/ var p = Promise.reject(3); diff --git a/test/built-ins/Promise/resolve-non-obj-deferred.js b/test/built-ins/Promise/resolve-non-obj-deferred.js index 2516dbd418..8e099a4723 100644 --- a/test/built-ins/Promise/resolve-non-obj-deferred.js +++ b/test/built-ins/Promise/resolve-non-obj-deferred.js @@ -13,6 +13,7 @@ info: > 25.4.1.3.2 Promise Resolve Functions 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var resolve; diff --git a/test/built-ins/Promise/resolve-non-obj-immed.js b/test/built-ins/Promise/resolve-non-obj-immed.js index 163a1938f9..5f65561008 100644 --- a/test/built-ins/Promise/resolve-non-obj-immed.js +++ b/test/built-ins/Promise/resolve-non-obj-immed.js @@ -12,6 +12,7 @@ info: > 25.4.1.3.2 Promise Resolve Functions 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var promise = new Promise(function(resolve) { diff --git a/test/built-ins/Promise/resolve-non-thenable-deferred.js b/test/built-ins/Promise/resolve-non-thenable-deferred.js index a6ed852420..d3b93474a7 100644 --- a/test/built-ins/Promise/resolve-non-thenable-deferred.js +++ b/test/built-ins/Promise/resolve-non-thenable-deferred.js @@ -18,6 +18,7 @@ info: > 10. Let thenAction be then.[[value]]. 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var nonThenable = { then: null }; diff --git a/test/built-ins/Promise/resolve-non-thenable-immed.js b/test/built-ins/Promise/resolve-non-thenable-immed.js index ae02361404..74161789f1 100644 --- a/test/built-ins/Promise/resolve-non-thenable-immed.js +++ b/test/built-ins/Promise/resolve-non-thenable-immed.js @@ -18,6 +18,7 @@ info: > 10. Let thenAction be then.[[value]]. 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var nonThenable = { then: null }; diff --git a/test/built-ins/Promise/resolve-poisoned-then-deferred.js b/test/built-ins/Promise/resolve-poisoned-then-deferred.js index 33c2b78469..d043a5ddd4 100644 --- a/test/built-ins/Promise/resolve-poisoned-then-deferred.js +++ b/test/built-ins/Promise/resolve-poisoned-then-deferred.js @@ -14,6 +14,7 @@ info: > 25.4.1.3.2 Promise Resolve Functions 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/resolve-poisoned-then-immed.js b/test/built-ins/Promise/resolve-poisoned-then-immed.js index ec806a2359..90c678e496 100644 --- a/test/built-ins/Promise/resolve-poisoned-then-immed.js +++ b/test/built-ins/Promise/resolve-poisoned-then-immed.js @@ -14,6 +14,7 @@ info: > 25.4.1.3.2 Promise Resolve Functions 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/resolve-self.js b/test/built-ins/Promise/resolve-self.js index 9425d42b5b..cd9d988ac1 100644 --- a/test/built-ins/Promise/resolve-self.js +++ b/test/built-ins/Promise/resolve-self.js @@ -14,6 +14,7 @@ info: > 6. If SameValue(resolution, promise) is true, then a. Let selfResolutionError be a newly created TypeError object. b. Return RejectPromise(promise, selfResolutionError). +flags: [async] ---*/ var resolve; diff --git a/test/built-ins/Promise/resolve-thenable-deferred.js b/test/built-ins/Promise/resolve-thenable-deferred.js index 93dfab0e53..cd572d1a84 100644 --- a/test/built-ins/Promise/resolve-thenable-deferred.js +++ b/test/built-ins/Promise/resolve-thenable-deferred.js @@ -21,6 +21,7 @@ info: > [...] 12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob, «promise, resolution, thenAction») +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/resolve-thenable-immed.js b/test/built-ins/Promise/resolve-thenable-immed.js index c39f9aff68..f0412ed71a 100644 --- a/test/built-ins/Promise/resolve-thenable-immed.js +++ b/test/built-ins/Promise/resolve-thenable-immed.js @@ -20,6 +20,7 @@ info: > [...] 12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob, «promise, resolution, thenAction») +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js b/test/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js index 1ab3f41cd1..2b471179fc 100644 --- a/test/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js +++ b/test/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js @@ -5,6 +5,7 @@ es6id: S25.4.4.5_A2.2_T1 author: Sam Mikes description: Promise.resolve passes through an unsettled promise w/ same Constructor +flags: [async] ---*/ var resolveP1, diff --git a/test/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js b/test/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js index a54c21ede0..3ea901fc83 100644 --- a/test/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js +++ b/test/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js @@ -5,6 +5,7 @@ es6id: S25.4.4.5_A2.3_T1 author: Sam Mikes description: Promise.resolve passes through an unsettled promise w/ same Constructor +flags: [async] ---*/ var rejectP1, diff --git a/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js b/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js index 8fbc2befb1..e76d00a3d9 100644 --- a/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js +++ b/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js @@ -8,6 +8,7 @@ es6id: S25.4.4.5_A3.1_T1 author: Sam Mikes description: Promise.resolve delegates to foreign thenable includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js b/test/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js index aa11bf0125..f6dd291860 100644 --- a/test/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js +++ b/test/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js @@ -7,6 +7,7 @@ info: > es6id: S25.4.4.5_A3.1_T1 author: Sam Mikes description: self-resolved Promise throws TypeError +flags: [async] ---*/ var resolveP, diff --git a/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_1.js b/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_1.js index aa00db6890..bf0f2d6d28 100644 --- a/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_1.js +++ b/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_1.js @@ -8,6 +8,7 @@ es6id: S25.4.4.5 author: Sam Mikes description: Promise.resolve delegates to foreign thenable includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js b/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js index 074d0aaca1..b4c0c3ec6b 100644 --- a/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js +++ b/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js @@ -8,6 +8,7 @@ es6id: S25.4.4.5 author: Sam Mikes description: Promise.resolve delegates to foreign thenable includes: [PromiseHelper.js] +flags: [async] ---*/ var sequence = []; diff --git a/test/built-ins/Promise/resolve/arg-non-thenable.js b/test/built-ins/Promise/resolve/arg-non-thenable.js index 2aa032efac..12d7beae67 100644 --- a/test/built-ins/Promise/resolve/arg-non-thenable.js +++ b/test/built-ins/Promise/resolve/arg-non-thenable.js @@ -18,6 +18,7 @@ info: > 12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob, «promise, resolution, thenAction») 13. Return undefined. +flags: [async] ---*/ var nonThenable = { diff --git a/test/built-ins/Promise/resolve/arg-poisoned-then.js b/test/built-ins/Promise/resolve/arg-poisoned-then.js index 085e1455a7..4564314572 100644 --- a/test/built-ins/Promise/resolve/arg-poisoned-then.js +++ b/test/built-ins/Promise/resolve/arg-poisoned-then.js @@ -16,6 +16,7 @@ info: > 8. Let then be Get(resolution, "then"). 9. If then is an abrupt completion, then a. Return RejectPromise(promise, then.[[value]]). +flags: [async] ---*/ var poisonedThen = {}; diff --git a/test/built-ins/Promise/resolve/resolve-non-obj.js b/test/built-ins/Promise/resolve/resolve-non-obj.js index 9a99e4d1f5..5ec758cf37 100644 --- a/test/built-ins/Promise/resolve/resolve-non-obj.js +++ b/test/built-ins/Promise/resolve/resolve-non-obj.js @@ -13,6 +13,7 @@ info: > [...] 7. If Type(resolution) is not Object, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ Promise.resolve(23).then(function(value) { diff --git a/test/built-ins/Promise/resolve/resolve-non-thenable.js b/test/built-ins/Promise/resolve/resolve-non-thenable.js index 446f0f9920..3b6ed6b938 100644 --- a/test/built-ins/Promise/resolve/resolve-non-thenable.js +++ b/test/built-ins/Promise/resolve/resolve-non-thenable.js @@ -17,6 +17,7 @@ info: > 10. Let thenAction be then.[[value]]. 11. If IsCallable(thenAction) is false, then a. Return FulfillPromise(promise, resolution). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/resolve/resolve-poisoned-then.js b/test/built-ins/Promise/resolve/resolve-poisoned-then.js index 8ada16e332..28983a300e 100644 --- a/test/built-ins/Promise/resolve/resolve-poisoned-then.js +++ b/test/built-ins/Promise/resolve/resolve-poisoned-then.js @@ -14,6 +14,7 @@ info: > 8. Let then be Get(resolution, "then"). 9. If then is an abrupt completion, then a. Return RejectPromise(promise, then.[[value]]). +flags: [async] ---*/ var value = {}; diff --git a/test/built-ins/Promise/resolve/resolve-self.js b/test/built-ins/Promise/resolve/resolve-self.js index a9b9b73c48..dded4ecd96 100644 --- a/test/built-ins/Promise/resolve/resolve-self.js +++ b/test/built-ins/Promise/resolve/resolve-self.js @@ -17,6 +17,7 @@ info: > 6. If SameValue(resolution, promise) is true, then a. Let selfResolutionError be a newly created TypeError object. b. Return RejectPromise(promise, selfResolutionError). +flags: [async] ---*/ var resolve, reject; diff --git a/test/built-ins/Promise/resolve/resolve-thenable.js b/test/built-ins/Promise/resolve/resolve-thenable.js index 62b061b2ee..a3f81944c1 100644 --- a/test/built-ins/Promise/resolve/resolve-thenable.js +++ b/test/built-ins/Promise/resolve/resolve-thenable.js @@ -19,6 +19,7 @@ info: > [...] 12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob, «promise, resolution, thenAction») +flags: [async] ---*/ var value = {}; diff --git a/tools/packaging/test262.py b/tools/packaging/test262.py index 1192005fc9..551d6d3e02 100755 --- a/tools/packaging/test262.py +++ b/tools/packaging/test262.py @@ -309,7 +309,7 @@ class TestCase(object): return 'raw' in self.testRecord def IsAsyncTest(self): - return '$DONE' in self.test + return 'async' in self.testRecord def GetIncludeList(self): if self.testRecord.get('includes'):