// 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, }); reportCompare(0, 0);