Test plan for https://tc39.es/proposal-await-dictionary/ ([issue 18](https://github.com/tc39/proposal-await-dictionary/issues/28)) Boilerplate: https://github.com/tc39/test262/pull/4927 - [x] Property descriptors - [x] Function lengths - [x] Function names - [x] Are not constructors - [x] prototypes are Function.prototype - [x] are extensible Success cases: - [x] Object with no keys - [ ] Object with no enumerable properties - [x] Object with enumerable and non-enumerable properties, latter are skipped - [ ] Promises already resolved before call - [ ] Promises resolve after call - [x] Resulting key order matches original order (not the order promises settled) - `Promise.allSettledKeyed` - [x] All promises reject - [x] All promises fullfilled - [x] Mix of rejected and fullfilled - [x] Object with enumerable keys on its prototype - [x] Object with symbol keys - [x] Argument is a function Failure cases: - Testing `newPromiseCapability` - [x] Receiver is not a constructor - [ ] Constructor throws - [ ] Constructor does not provide a 'resolve' and 'reject' function - Testing `GetPromiseResolve` - [ ] Receiver does not have a `.resolve` function - [x] resolve function not callable - [x] Not passing an object as the argument - `Promise.allKeyed` - [ ] The first promise to settle is rejected - [ ] The second promise to settle is rejected - [ ] The last promise to settle is rejected Other edge cases: - [ ] Synchronous thenables to cover `PerformPromiseAllKeyed` step 8 - [ ] calling `promiseResolve` throws - [ ] `promiseResolve` does not return a _thenable_ - [ ] Exotic object where `[[OwnPropertyKeys]]` throws - [ ] Exotic object where `[[GetOwnProperty]]` throws - [ ] Exotic object where `[[GetOwnProperty]]` returns `undefined`
Test plan for https://tc39.es/proposal-await-dictionary/ (issue 18)
Boilerplate: #4927
Success cases:
Promise.allSettledKeyedFailure cases:
newPromiseCapabilityGetPromiseResolve.resolvefunctionPromise.allKeyedOther edge cases:
PerformPromiseAllKeyedstep 8promiseResolvethrowspromiseResolvedoes not return a thenable[[OwnPropertyKeys]]throws[[GetOwnProperty]]throws[[GetOwnProperty]]returnsundefined