123456789101112131415161718192021222324252627282930 |
- // Copyright (C) 2020 ExE Boss. All rights reserved.
- // This code is governed by the BSD license found in the LICENSE file.
- /*---
- esid: sec-createbuiltinfunction
- description: Promise.all resolve element function property order
- info: |
- Set order: "length", "name"
- ---*/
- var resolveElementFunction;
- var thenable = {
- then: function(fulfill) {
- resolveElementFunction = fulfill;
- }
- };
- function NotPromise(executor) {
- executor(function() {}, function() {});
- }
- NotPromise.resolve = function(v) {
- return v;
- };
- Promise.all.call(NotPromise, [thenable]);
- var propNames = Object.getOwnPropertyNames(resolveElementFunction);
- var lengthIndex = propNames.indexOf("length");
- var nameIndex = propNames.indexOf("name");
- assert(lengthIndex >= 0 && nameIndex === lengthIndex + 1,
- "The `length` property comes before the `name` property on built-in functions");
|