From 5d3eafc5475ade29fc98f68f745f6f05dcf467f0 Mon Sep 17 00:00:00 2001 From: Rick Waldron Date: Mon, 23 Mar 2020 22:39:53 -0400 Subject: [PATCH] Promise.any: review fixes --- test/built-ins/Promise/any/ctx-ctor-throws.js | 4 ++-- test/built-ins/Promise/any/ctx-non-ctor.js | 4 +++- ...resolve-on-promises-every-iteration-of-custom.js | 13 +++---------- ...esolve-on-promises-every-iteration-of-promise.js | 13 +++---------- ...e-resolve-on-values-every-iteration-of-custom.js | 5 +---- ...-resolve-on-values-every-iteration-of-promise.js | 5 +---- .../any/invoke-then-on-promises-every-iteration.js | 12 ++++-------- .../Promise/any/iter-arg-is-false-reject.js | 2 +- .../Promise/any/iter-arg-is-null-reject.js | 2 +- .../Promise/any/iter-arg-is-number-reject.js | 2 +- test/built-ins/Promise/any/iter-arg-is-poisoned.js | 2 +- .../Promise/any/iter-arg-is-string-resolve.js | 2 +- .../Promise/any/iter-arg-is-symbol-reject.js | 2 +- .../Promise/any/iter-arg-is-true-reject.js | 2 +- .../Promise/any/iter-arg-is-undefined-reject.js | 2 +- .../Promise/any/iter-assigned-symbol-reject.js | 2 +- 16 files changed, 26 insertions(+), 48 deletions(-) diff --git a/test/built-ins/Promise/any/ctx-ctor-throws.js b/test/built-ins/Promise/any/ctx-ctor-throws.js index a6e0d07868..41288914fa 100644 --- a/test/built-ins/Promise/any/ctx-ctor-throws.js +++ b/test/built-ins/Promise/any/ctx-ctor-throws.js @@ -16,9 +16,9 @@ info: | features: [Promise.any] ---*/ -var CustomPromise = function() { +function CustomPromise() { throw new Test262Error(); -}; +} assert.throws(Test262Error, function() { Promise.any.call(CustomPromise); diff --git a/test/built-ins/Promise/any/ctx-non-ctor.js b/test/built-ins/Promise/any/ctx-non-ctor.js index 6703d9eae6..46cc361240 100644 --- a/test/built-ins/Promise/any/ctx-non-ctor.js +++ b/test/built-ins/Promise/any/ctx-non-ctor.js @@ -13,9 +13,11 @@ info: | 1. If IsConstructor(C) is false, throw a TypeError exception. -features: [Promise.any] +features: [Promise.any, Symbol] ---*/ +assert.sameValue(typeof Promise.any, 'function'); + assert.throws(TypeError, function() { Promise.any.call(eval); }); diff --git a/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js b/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js index 226039ff42..279e87a1fc 100644 --- a/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js +++ b/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js @@ -19,11 +19,7 @@ features: [Promise.any] ---*/ class Custom extends Promise {} -let customs = [ - new Custom(resolve => resolve()), - new Custom(resolve => resolve()), - new Custom(resolve => resolve()), -]; +let values = [1, 1, 1]; let cresolveCallCount = 0; let presolveCallCount = 0; let boundCustomResolve = Custom.resolve.bind(Custom); @@ -39,12 +35,9 @@ Promise.resolve = function(...args) { return boundPromiseResolve(...args); }; -Promise.any.call(Custom, customs) +Promise.any.call(Custom, values) .then(() => { assert.sameValue(presolveCallCount, 0, '`Promise.resolve` is never invoked'); assert.sameValue(cresolveCallCount, 3, '`Custom.resolve` invoked once for every iterated promise'); - }, (error) => { - $DONE(error); - } - ).then($DONE, $DONE); + }, $DONE).then($DONE, $DONE); diff --git a/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-promise.js b/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-promise.js index 4e90baa691..dd45faff87 100644 --- a/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-promise.js +++ b/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-promise.js @@ -18,11 +18,7 @@ flags: [async] features: [Promise.any] ---*/ -let promises = [ - new Promise(resolve => resolve()), - new Promise(resolve => resolve()), - new Promise(resolve => resolve()), -]; +let values = [1,1,1]; let callCount = 0; let boundPromiseResolve = Promise.resolve.bind(Promise); @@ -31,11 +27,8 @@ Promise.resolve = function(...args) { return boundPromiseResolve(...args); }; -Promise.any(promises) +Promise.any(values) .then(() => { assert.sameValue(callCount, 3, '`then` invoked once for every iterated promise'); - }, (error) => { - $DONE(error); - } - ).then($DONE, $DONE); + }, $DONE).then($DONE, $DONE); diff --git a/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js b/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js index 9b03b8a019..68d4c01bfa 100644 --- a/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js +++ b/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js @@ -39,8 +39,5 @@ Promise.any.call(Custom, values) .then(() => { assert.sameValue(presolveCallCount, 0, '`Promise.resolve` is never invoked'); assert.sameValue(cresolveCallCount, 3, '`Custom.resolve` invoked once for every iterated promise'); - }, (error) => { - $DONE(error); - } - ).then($DONE, $DONE); + }, $DONE).then($DONE, $DONE); diff --git a/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-promise.js b/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-promise.js index 2b5629045d..3b1fbf8a6e 100644 --- a/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-promise.js +++ b/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-promise.js @@ -30,8 +30,5 @@ Promise.resolve = function(...args) { Promise.any(values) .then(() => { assert.sameValue(callCount, 3, '`Promise.resolve` invoked once for every iterated value'); - }, (error) => { - $DONE(error); - } - ).then($DONE, $DONE); + }, $DONE).then($DONE, $DONE); diff --git a/test/built-ins/Promise/any/invoke-then-on-promises-every-iteration.js b/test/built-ins/Promise/any/invoke-then-on-promises-every-iteration.js index accb7c75be..abb34225f3 100644 --- a/test/built-ins/Promise/any/invoke-then-on-promises-every-iteration.js +++ b/test/built-ins/Promise/any/invoke-then-on-promises-every-iteration.js @@ -20,9 +20,9 @@ features: [Promise.any] ---*/ let promises = [ - new Promise(resolve => resolve()), - new Promise(resolve => resolve()), - new Promise(resolve => resolve()), + Promise.resolve(), + Promise.resolve(), + Promise.resolve(), ]; let callCount = 0; @@ -38,8 +38,4 @@ promises.forEach(promise => { Promise.any(promises) .then(() => { assert.sameValue(callCount, 3, '`then` invoked once for every iterated value'); - }, (error) => { - $DONE(error); - // $DONE('The promise should not be rejected'); - } - ).then($DONE, $DONE); + }, $DONE).then($DONE, $DONE); diff --git a/test/built-ins/Promise/any/iter-arg-is-false-reject.js b/test/built-ins/Promise/any/iter-arg-is-false-reject.js index a78cc40a17..d9ca00e7d3 100644 --- a/test/built-ins/Promise/any/iter-arg-is-false-reject.js +++ b/test/built-ins/Promise/any/iter-arg-is-false-reject.js @@ -20,7 +20,7 @@ info: | Let iterator be ? Call(method, obj). If Type(iterator) is not Object, throw a TypeError exception. ... -features: [Promise.any, Symbol.iterator] +features: [Promise.any] flags: [async] ---*/ diff --git a/test/built-ins/Promise/any/iter-arg-is-null-reject.js b/test/built-ins/Promise/any/iter-arg-is-null-reject.js index 89ffd99e49..1fad1fbe66 100644 --- a/test/built-ins/Promise/any/iter-arg-is-null-reject.js +++ b/test/built-ins/Promise/any/iter-arg-is-null-reject.js @@ -20,7 +20,7 @@ info: | Let iterator be ? Call(method, obj). If Type(iterator) is not Object, throw a TypeError exception. ... -features: [Promise.any, Symbol.iterator] +features: [Promise.any] flags: [async] ---*/ diff --git a/test/built-ins/Promise/any/iter-arg-is-number-reject.js b/test/built-ins/Promise/any/iter-arg-is-number-reject.js index 866b364ea8..2e09657b8d 100644 --- a/test/built-ins/Promise/any/iter-arg-is-number-reject.js +++ b/test/built-ins/Promise/any/iter-arg-is-number-reject.js @@ -20,7 +20,7 @@ info: | Let iterator be ? Call(method, obj). If Type(iterator) is not Object, throw a TypeError exception. ... -features: [Promise.any, Symbol.iterator] +features: [Promise.any] flags: [async] ---*/ diff --git a/test/built-ins/Promise/any/iter-arg-is-poisoned.js b/test/built-ins/Promise/any/iter-arg-is-poisoned.js index 230de97bf4..723e9df9b2 100644 --- a/test/built-ins/Promise/any/iter-arg-is-poisoned.js +++ b/test/built-ins/Promise/any/iter-arg-is-poisoned.js @@ -19,7 +19,7 @@ info: | ... Let iterator be ? Call(method, obj). ... -features: [Promise.any, Symbol.iterator] +features: [Promise.any] flags: [async] ---*/ diff --git a/test/built-ins/Promise/any/iter-arg-is-string-resolve.js b/test/built-ins/Promise/any/iter-arg-is-string-resolve.js index 4c8ccf62c0..3abb467361 100644 --- a/test/built-ins/Promise/any/iter-arg-is-string-resolve.js +++ b/test/built-ins/Promise/any/iter-arg-is-string-resolve.js @@ -20,7 +20,7 @@ info: | Let iterator be ? Call(method, obj). If Type(iterator) is not Object, throw a TypeError exception. ... -features: [Promise.any, Symbol.iterator] +features: [Promise.any] flags: [async] ---*/ diff --git a/test/built-ins/Promise/any/iter-arg-is-symbol-reject.js b/test/built-ins/Promise/any/iter-arg-is-symbol-reject.js index afd082f926..8cc96f153c 100644 --- a/test/built-ins/Promise/any/iter-arg-is-symbol-reject.js +++ b/test/built-ins/Promise/any/iter-arg-is-symbol-reject.js @@ -33,7 +33,7 @@ info: | Call ( F, V [ , argumentsList ] ) 2. If IsCallable(F) is false, throw a TypeError exception. -features: [Promise.any, Symbol.iterator] +features: [Promise.any, Symbol] flags: [async] ---*/ diff --git a/test/built-ins/Promise/any/iter-arg-is-true-reject.js b/test/built-ins/Promise/any/iter-arg-is-true-reject.js index 6c996ed4d6..3678db6c49 100644 --- a/test/built-ins/Promise/any/iter-arg-is-true-reject.js +++ b/test/built-ins/Promise/any/iter-arg-is-true-reject.js @@ -33,7 +33,7 @@ info: | Call ( F, V [ , argumentsList ] ) 2. If IsCallable(F) is false, throw a TypeError exception. -features: [Promise.any, Symbol.iterator] +features: [Promise.any] flags: [async] ---*/ diff --git a/test/built-ins/Promise/any/iter-arg-is-undefined-reject.js b/test/built-ins/Promise/any/iter-arg-is-undefined-reject.js index 06b526b42c..8224953f9b 100644 --- a/test/built-ins/Promise/any/iter-arg-is-undefined-reject.js +++ b/test/built-ins/Promise/any/iter-arg-is-undefined-reject.js @@ -33,7 +33,7 @@ info: | Call ( F, V [ , argumentsList ] ) 2. If IsCallable(F) is false, throw a TypeError exception. -features: [Promise.any, Symbol.iterator] +features: [Promise.any] flags: [async] ---*/ diff --git a/test/built-ins/Promise/any/iter-assigned-symbol-reject.js b/test/built-ins/Promise/any/iter-assigned-symbol-reject.js index 1d306b9d83..b8caa0eca1 100644 --- a/test/built-ins/Promise/any/iter-assigned-symbol-reject.js +++ b/test/built-ins/Promise/any/iter-assigned-symbol-reject.js @@ -33,7 +33,7 @@ info: | Call ( F, V [ , argumentsList ] ) 2. If IsCallable(F) is false, throw a TypeError exception. -features: [Promise.any, Symbol.iterator] +features: [Promise.any, Symbol, Symbol.iterator] flags: [async] ---*/