diff --git a/test/built-ins/Promise/create-resolving-functions-reject.js b/test/built-ins/Promise/create-resolving-functions-reject.js new file mode 100644 index 0000000000..2d4c8cf756 --- /dev/null +++ b/test/built-ins/Promise/create-resolving-functions-reject.js @@ -0,0 +1,27 @@ +// Copyright (C) 2019 Alexey Shvayka. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-createresolvingfunctions +description: > + reject is anonymous built-in function with length of 1. +info: | + CreateResolvingFunctions ( promise ) + + ... + 7. Let reject be ! CreateBuiltinFunction(stepsReject, « [[Promise]], [[AlreadyResolved]] »). +features: [Reflect.construct] +includes: [isConstructor.js] +flags: [async] +---*/ + +Promise.resolve(1).then(function() { + return Promise.resolve(2); +}); + +Promise.prototype.then = function(_resolve, reject) { + assert.sameValue(!isConstructor(reject)); + assert.sameValue(reject.length, 1); + assert.sameValue(reject.name, ''); + + $DONE(); +}; diff --git a/test/built-ins/Promise/create-resolving-functions-resolve.js b/test/built-ins/Promise/create-resolving-functions-resolve.js new file mode 100644 index 0000000000..7679ccf9f7 --- /dev/null +++ b/test/built-ins/Promise/create-resolving-functions-resolve.js @@ -0,0 +1,27 @@ +// Copyright (C) 2019 Alexey Shvayka. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-createresolvingfunctions +description: > + resolve is anonymous built-in function with length of 1. +info: | + CreateResolvingFunctions ( promise ) + + ... + 3. Let resolve be ! CreateBuiltinFunction(stepsResolve, « [[Promise]], [[AlreadyResolved]] »). +features: [Reflect.construct] +includes: [isConstructor.js] +flags: [async] +---*/ + +Promise.resolve(1).then(function() { + return Promise.resolve(2); +}); + +Promise.prototype.then = function(resolve) { + assert.sameValue(!isConstructor(resolve)); + assert.sameValue(resolve.length, 1); + assert.sameValue(resolve.name, ''); + + $DONE(); +};