| // Copyright (C) 2019 Leo Balter. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| esid: sec-promise.allsettled-resolve-element-functions |
| description: The `length` property of Promise.allSettled Resolve Element functions |
| info: | |
| The length property of a Promise.allSettled resolve element function is 1. |
| |
| 17 ECMAScript Standard Built-in Objects: |
| Unless otherwise specified, the length property of a built-in Function |
| object has the attributes { [[Writable]]: false, [[Enumerable]]: false, |
| [[Configurable]]: true }. |
| includes: [propertyHelper.js] |
| features: [Promise.allSettled] |
| ---*/ |
| |
| var resolveElementFunction; |
| var thenable = { |
| then(fulfill) { |
| resolveElementFunction = fulfill; |
| } |
| }; |
| |
| function NotPromise(executor) { |
| executor(function() {}, function() {}); |
| } |
| NotPromise.resolve = function(v) { |
| return v; |
| }; |
| Promise.allSettled.call(NotPromise, [thenable]); |
| |
| verifyProperty(resolveElementFunction, 'length', { |
| value: 1, |
| enumerable: false, |
| writable: false, |
| configurable: true, |
| }); |