Fix length prop tests for the TypedArrays ctors family (#1479)

This commit is contained in:
Leo Balter 2018-03-08 09:21:09 -05:00 committed by GitHub
parent 3af53b8087
commit ccab9a18b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 256 additions and 242 deletions

View File

@ -8,24 +8,26 @@ description: >
info: |
ArrayBuffer ( length )
17 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, including optional
parameters. However, rest parameters shown using the form ...name
are not included in the default argument count.
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 }.
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]
features: [ArrayBuffer]
---*/
assert.sameValue(ArrayBuffer.length, 1);
verifyProperty(ArrayBuffer, "length", {
writable: false,
value: 1,
enumerable: false,
writable: false,
configurable: true,
});

View File

@ -3,14 +3,31 @@
/*---
esid: sec-dataview-constructor
es6id: 24.2.2
description: >
The length property of DataView is 3
The length property of DataView has the default value of 1
info: |
DataView ( buffer [ , byteOffset [ , byteLength ] ] )
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]
features: [DataView]
---*/
assert.sameValue(DataView.length, 3, "The value of `DataView.length` is `3`");
verifyNotEnumerable(DataView, "length");
verifyNotWritable(DataView, "length");
verifyConfigurable(DataView, "length");
verifyProperty(DataView, "length", {
value: 1,
enumerable: false,
writable: false,
configurable: true,
});

View File

@ -0,0 +1,33 @@
// Copyright (C) 2018 Leo Balter. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-sharedarraybuffer-constructor
description: >
SharedArrayBuffer.length is 1.
info: |
SharedArrayBuffer( length )
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]
features: [SharedArrayBuffer]
---*/
verifyProperty(SharedArrayBuffer, "length", {
value: 1,
enumerable: false,
writable: false,
configurable: true,
});

View File

@ -1,7 +1,7 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: pending
esid: sec-%typedarray%
description: Throw a TypeError exception if directly invoked.
info: |
22.2.1.1 %TypedArray% ( )

View File

@ -1,24 +1,29 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: pending
esid: sec-%typedarray%
description: >
TypedArray has a "length" property whose value is 0.
info: |
22.2.1.1 %TypedArray% ()
%TypedArray% ( )
The length property of the %TypedArray% constructor function is 0.
17 ECMAScript Standard Built-in Objects
...
ES7 section 17: Unless otherwise specified, the length property of a built-in
Function object has the attributes { [[Writable]]: false, [[Enumerable]]:
false, [[Configurable]]: true }.
Unless otherwise specified, the length property of a built-in function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js, testTypedArray.js]
features: [TypedArray]
---*/
assert.sameValue(TypedArray.length, 0);
verifyNotEnumerable(TypedArray, 'length');
verifyNotWritable(TypedArray, 'length');
verifyConfigurable(TypedArray, 'length');
verifyProperty(TypedArray, "length", {
value: 0,
writable: false,
enumerable: false,
configurable: true
});

View File

@ -1,7 +1,7 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.2
esid: sec-%typedarray%
description: >
TypedArray has a 'name' property whose value is "TypedArray".
info: |

View File

@ -1,7 +1,7 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.2.3
esid: sec-%typedarray%
description: >
"prototype" property of TypedArray
info: |

View File

@ -5,27 +5,19 @@
esid: sec-typedarray-constructors
description: BigInt64Array.length property descriptor
info: |
22.2.4 The TypedArray Constructors
[...]
The TypedArray Constructors
The length property of the TypedArray constructor function is 3.
17 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 }.
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: [BigInt]
features: [BigInt, TypedArray]
---*/
verifyProperty(BigInt64Array, "length", {

View File

@ -5,27 +5,19 @@
esid: sec-typedarray-constructors
description: BigUint64Array.length property descriptor
info: |
22.2.4 The TypedArray Constructors
[...]
The TypedArray Constructors
The length property of the TypedArray constructor function is 3.
17 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 }.
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: [BigInt]
features: [BigInt, TypedArray]
---*/
verifyProperty(BigUint64Array, "length", {

View File

@ -2,30 +2,27 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.5
esid: sec-properties-of-the-typedarray-constructors
description: >
Float32Array.length is 3.
esid: sec-typedarray-constructors
description: Float32Array.length property descriptor
info: |
Besides a length property (whose value is 3), [...].
The TypedArray Constructors
17 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, including optional
parameters. However, rest parameters shown using the form ...name
are not included in the default argument count.
The length property of the TypedArray constructor function is 3.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
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: [TypedArray]
features: [BigInt]
---*/
assert.sameValue(Float32Array.length, 3);
verifyNotEnumerable(Float32Array, "length");
verifyNotWritable(Float32Array, "length");
verifyConfigurable(Float32Array, "length");
verifyProperty(Float32Array, "length", {
value: 3,
writable: false,
enumerable: false,
configurable: true
});

View File

@ -2,30 +2,27 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.5
esid: sec-properties-of-the-typedarray-constructors
description: >
Float64Array.length is 3.
esid: sec-typedarray-constructors
description: Float64Array.length property descriptor
info: |
Besides a length property (whose value is 3), [...].
The TypedArray Constructors
17 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, including optional
parameters. However, rest parameters shown using the form ...name
are not included in the default argument count.
The length property of the TypedArray constructor function is 3.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
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: [TypedArray]
---*/
assert.sameValue(Float64Array.length, 3);
verifyNotEnumerable(Float64Array, "length");
verifyNotWritable(Float64Array, "length");
verifyConfigurable(Float64Array, "length");
verifyProperty(Float64Array, "length", {
value: 3,
writable: false,
enumerable: false,
configurable: true
});

View File

@ -2,30 +2,27 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.5
esid: sec-properties-of-the-typedarray-constructors
description: >
Int16Array.length is 3.
esid: sec-typedarray-constructors
description: Int16Array.length property descriptor
info: |
Besides a length property (whose value is 3), [...].
The TypedArray Constructors
17 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, including optional
parameters. However, rest parameters shown using the form ...name
are not included in the default argument count.
The length property of the TypedArray constructor function is 3.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
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: [TypedArray]
---*/
assert.sameValue(Int16Array.length, 3);
verifyNotEnumerable(Int16Array, "length");
verifyNotWritable(Int16Array, "length");
verifyConfigurable(Int16Array, "length");
verifyProperty(Int16Array, "length", {
value: 3,
writable: false,
enumerable: false,
configurable: true
});

View File

@ -2,30 +2,27 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.5
esid: sec-properties-of-the-typedarray-constructors
description: >
Int32Array.length is 3.
esid: sec-typedarray-constructors
description: Int32Array.length property descriptor
info: |
Besides a length property (whose value is 3), [...].
The TypedArray Constructors
17 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, including optional
parameters. However, rest parameters shown using the form ...name
are not included in the default argument count.
The length property of the TypedArray constructor function is 3.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
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: [TypedArray]
---*/
assert.sameValue(Int32Array.length, 3);
verifyNotEnumerable(Int32Array, "length");
verifyNotWritable(Int32Array, "length");
verifyConfigurable(Int32Array, "length");
verifyProperty(Int32Array, "length", {
value: 3,
writable: false,
enumerable: false,
configurable: true
});

View File

@ -2,30 +2,27 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.5
esid: sec-properties-of-the-typedarray-constructors
description: >
Int8Array.length is 3.
esid: sec-typedarray-constructors
description: Int8Array.length property descriptor
info: |
Besides a length property (whose value is 3), [...].
The TypedArray Constructors
17 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, including optional
parameters. However, rest parameters shown using the form ...name
are not included in the default argument count.
The length property of the TypedArray constructor function is 3.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
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: [TypedArray]
---*/
assert.sameValue(Int8Array.length, 3);
verifyNotEnumerable(Int8Array, "length");
verifyNotWritable(Int8Array, "length");
verifyConfigurable(Int8Array, "length");
verifyProperty(Int8Array, "length", {
value: 3,
writable: false,
enumerable: false,
configurable: true
});

View File

@ -2,30 +2,27 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.5
esid: sec-properties-of-the-typedarray-constructors
description: >
Uint16Array.length is 3.
esid: sec-typedarray-constructors
description: Uint16Array.length property descriptor
info: |
Besides a length property (whose value is 3), [...].
The TypedArray Constructors
17 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, including optional
parameters. However, rest parameters shown using the form ...name
are not included in the default argument count.
The length property of the TypedArray constructor function is 3.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
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: [TypedArray]
---*/
assert.sameValue(Uint16Array.length, 3);
verifyNotEnumerable(Uint16Array, "length");
verifyNotWritable(Uint16Array, "length");
verifyConfigurable(Uint16Array, "length");
verifyProperty(Uint16Array, "length", {
value: 3,
writable: false,
enumerable: false,
configurable: true
});

View File

@ -2,30 +2,27 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.5
esid: sec-properties-of-the-typedarray-constructors
description: >
Uint32Array.length is 3.
esid: sec-typedarray-constructors
description: Uint32Array.length property descriptor
info: |
Besides a length property (whose value is 3), [...].
The TypedArray Constructors
17 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, including optional
parameters. However, rest parameters shown using the form ...name
are not included in the default argument count.
The length property of the TypedArray constructor function is 3.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
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: [TypedArray]
---*/
assert.sameValue(Uint32Array.length, 3);
verifyNotEnumerable(Uint32Array, "length");
verifyNotWritable(Uint32Array, "length");
verifyConfigurable(Uint32Array, "length");
verifyProperty(Uint32Array, "length", {
value: 3,
writable: false,
enumerable: false,
configurable: true
});

View File

@ -2,30 +2,27 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.5
esid: sec-properties-of-the-typedarray-constructors
description: >
Uint8Array.length is 3.
esid: sec-typedarray-constructors
description: Uint8Array.length property descriptor
info: |
Besides a length property (whose value is 3), [...].
The TypedArray Constructors
17 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, including optional
parameters. However, rest parameters shown using the form ...name
are not included in the default argument count.
The length property of the TypedArray constructor function is 3.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
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: [TypedArray]
---*/
assert.sameValue(Uint8Array.length, 3);
verifyNotEnumerable(Uint8Array, "length");
verifyNotWritable(Uint8Array, "length");
verifyConfigurable(Uint8Array, "length");
verifyProperty(Uint8Array, "length", {
value: 3,
writable: false,
enumerable: false,
configurable: true
});

View File

@ -2,30 +2,27 @@
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 22.2.5
esid: sec-properties-of-the-typedarray-constructors
description: >
Uint8ClampedArray.length is 3.
esid: sec-typedarray-constructors
description: Uint8ClampedArray.length property descriptor
info: |
Besides a length property (whose value is 3), [...].
The TypedArray Constructors
17 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, including optional
parameters. However, rest parameters shown using the form ...name
are not included in the default argument count.
The length property of the TypedArray constructor function is 3.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
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: [TypedArray]
---*/
assert.sameValue(Uint8ClampedArray.length, 3);
verifyNotEnumerable(Uint8ClampedArray, "length");
verifyNotWritable(Uint8ClampedArray, "length");
verifyConfigurable(Uint8ClampedArray, "length");
verifyProperty(Uint8ClampedArray, "length", {
value: 3,
writable: false,
enumerable: false,
configurable: true
});