From 897a05954f535039c2b74c04eb7d7b8d9d4020de Mon Sep 17 00:00:00 2001 From: Alexey Shvayka Date: Tue, 18 Aug 2020 22:17:50 +0300 Subject: [PATCH] Test "length" property descriptor of Function.prototype.bind --- .../Function/prototype/bind/15.3.4.5-0-2.js | 9 ------ .../Function/prototype/bind/length.js | 29 +++++++++++++++++++ 2 files changed, 29 insertions(+), 9 deletions(-) delete mode 100644 test/built-ins/Function/prototype/bind/15.3.4.5-0-2.js create mode 100644 test/built-ins/Function/prototype/bind/length.js diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-0-2.js b/test/built-ins/Function/prototype/bind/15.3.4.5-0-2.js deleted file mode 100644 index 7d119fba13..0000000000 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-0-2.js +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) 2012 Ecma International. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -es5id: 15.3.4.5-0-2 -description: Function.prototype.bind must exist as a function taking 1 parameter ----*/ - -assert.sameValue(Function.prototype.bind.length, 1, 'Function.prototype.bind.length'); diff --git a/test/built-ins/Function/prototype/bind/length.js b/test/built-ins/Function/prototype/bind/length.js new file mode 100644 index 0000000000..65ca9973c5 --- /dev/null +++ b/test/built-ins/Function/prototype/bind/length.js @@ -0,0 +1,29 @@ +// Copyright (C) 2020 Alexey Shvayka. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-function.prototype.bind +description: > + Function.prototype.bind.length is 1. +info: | + Function.prototype.bind ( thisArg, ...args ) + + ECMAScript Standard Built-in Objects + + Every built-in function object, including constructors, has a "length" property whose + value is an integer. Unless otherwise specified, this value is equal to the largest + number of named arguments shown in the subclause headings for the function description. + Optional parameters (which are indicated with brackets: [ ]) or rest parameters (which + are shown using the form «...name») are not included in the default argument count. + + Unless otherwise specified, the "length" property of a built-in function object has + the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. +includes: [propertyHelper.js] +---*/ + +verifyProperty(Function.prototype.bind, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +});