mirror of https://github.com/tc39/test262.git
Add copies of resizable ArrayBuffer species constructor tests to BigInt folders
This adds copies of the tests added in the previous commit, to the respective BigInt folders, editing them to use the testBigIntTypedArray helper instead of the testTypedArray helper. See: #3723
This commit is contained in:
parent
8330bd6567
commit
be0abd93cd
40
test/built-ins/TypedArray/prototype/filter/BigInt/speciesctor-destination-resizable.js
vendored
Normal file
40
test/built-ins/TypedArray/prototype/filter/BigInt/speciesctor-destination-resizable.js
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
// Copyright (C) 2023 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-%typedarray%.prototype.filter
|
||||
description: >
|
||||
Throws a TypeError if new typedArray's length < count
|
||||
info: |
|
||||
23.2.3.10 %TypedArray%.prototype.filter ( start, end )
|
||||
|
||||
...
|
||||
9. Let A be ? TypedArraySpeciesCreate(O, « count »).
|
||||
...
|
||||
|
||||
23.2.4.1 TypedArraySpeciesCreate ( exemplar, argumentList )
|
||||
|
||||
...
|
||||
3. Let result be ? TypedArrayCreate(constructor, argumentList).
|
||||
|
||||
23.2.4.2 TypedArrayCreate ( constructor, argumentList )
|
||||
|
||||
...
|
||||
3. If argumentList is a List of a single Number, then
|
||||
a. If the value of newTypedArray's [[ArrayLength]] internal slot <
|
||||
argumentList[0], throw a TypeError exception.
|
||||
...
|
||||
includes: [testBigIntTypedArray.js]
|
||||
features: [BigInt, Symbol.species, TypedArray, resizable-arraybuffer]
|
||||
---*/
|
||||
|
||||
testWithBigIntTypedArrayConstructors(function(TA) {
|
||||
const rab1 = new ArrayBuffer(8, {maxByteLength: 100});
|
||||
const ta = new TA(rab1);
|
||||
const rab2 = new ArrayBuffer(10, {maxByteLength: 20});
|
||||
const lengthTracking = new TA(rab2);
|
||||
rab2.resize(0);
|
||||
ta.constructor = { [Symbol.species]: function() { return lengthTracking; } };
|
||||
assert.throws(TypeError, function() {
|
||||
ta.filter(() => true);
|
||||
});
|
||||
});
|
|
@ -0,0 +1,42 @@
|
|||
// Copyright (C) 2023 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-%typedarray%.prototype.filter
|
||||
description: >
|
||||
Throws a TypeError if new typedArray's length < count
|
||||
info: |
|
||||
23.2.3.10 %TypedArray%.prototype.filter ( start, end )
|
||||
|
||||
...
|
||||
9. Let A be ? TypedArraySpeciesCreate(O, « count »).
|
||||
...
|
||||
|
||||
23.2.4.1 TypedArraySpeciesCreate ( exemplar, argumentList )
|
||||
|
||||
...
|
||||
3. Let result be ? TypedArrayCreate(constructor, argumentList).
|
||||
|
||||
23.2.4.2 TypedArrayCreate ( constructor, argumentList )
|
||||
|
||||
...
|
||||
3. If argumentList is a List of a single Number, then
|
||||
a. If the value of newTypedArray's [[ArrayLength]] internal slot <
|
||||
argumentList[0], throw a TypeError exception.
|
||||
...
|
||||
includes: [testBigIntTypedArray.js]
|
||||
features: [BigInt, Symbol.species, TypedArray, resizable-arraybuffer]
|
||||
---*/
|
||||
|
||||
testWithBigIntTypedArrayConstructors(function(TA) {
|
||||
var sample = new TA(2);
|
||||
const rab = new ArrayBuffer(10, {maxByteLength: 20});
|
||||
const lengthTracking = new TA(rab);
|
||||
sample.constructor = {};
|
||||
sample.constructor[Symbol.species] = function() {
|
||||
return lengthTracking;
|
||||
};
|
||||
rab.resize(0);
|
||||
assert.throws(TypeError, function() {
|
||||
sample.filter(() => { return true; });
|
||||
});
|
||||
});
|
40
test/built-ins/TypedArray/prototype/map/BigInt/speciesctor-destination-resizable.js
vendored
Normal file
40
test/built-ins/TypedArray/prototype/map/BigInt/speciesctor-destination-resizable.js
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
// Copyright (C) 2023 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-%typedarray%.prototype.map
|
||||
description: >
|
||||
Throws a TypeError if new typedArray's length < count
|
||||
info: |
|
||||
22.2.3.22 %TypedArray%.prototype.map ( start, end )
|
||||
|
||||
...
|
||||
9. Let A be ? TypedArraySpeciesCreate(O, « count »).
|
||||
...
|
||||
|
||||
23.2.4.1 TypedArraySpeciesCreate ( exemplar, argumentList )
|
||||
|
||||
...
|
||||
3. Let result be ? TypedArrayCreate(constructor, argumentList).
|
||||
|
||||
23.2.4.2 TypedArrayCreate ( constructor, argumentList )
|
||||
|
||||
...
|
||||
3. If argumentList is a List of a single Number, then
|
||||
a. If the value of newTypedArray's [[ArrayLength]] internal slot <
|
||||
argumentList[0], throw a TypeError exception.
|
||||
...
|
||||
includes: [testBigIntTypedArray.js]
|
||||
features: [BigInt, Symbol.species, TypedArray, resizable-arraybuffer]
|
||||
---*/
|
||||
|
||||
testWithBigIntTypedArrayConstructors(function(TA) {
|
||||
const rab1 = new ArrayBuffer(8, {maxByteLength: 100});
|
||||
const ta = new TA(rab1);
|
||||
const rab2 = new ArrayBuffer(10, {maxByteLength: 20});
|
||||
const lengthTracking = new TA(rab2);
|
||||
rab2.resize(0);
|
||||
ta.constructor = { [Symbol.species]: function() { return lengthTracking; } };
|
||||
assert.throws(TypeError, function() {
|
||||
ta.map(() => {});
|
||||
});
|
||||
});
|
|
@ -0,0 +1,43 @@
|
|||
// Copyright (C) 2023 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-%typedarray%.prototype.map
|
||||
description: >
|
||||
Throws a TypeError if new typedArray's length < count
|
||||
info: |
|
||||
22.2.3.22 %TypedArray%.prototype.map ( start, end )
|
||||
|
||||
...
|
||||
9. Let A be ? TypedArraySpeciesCreate(O, « count »).
|
||||
...
|
||||
|
||||
23.2.4.1 TypedArraySpeciesCreate ( exemplar, argumentList )
|
||||
|
||||
...
|
||||
3. Let result be ? TypedArrayCreate(constructor, argumentList).
|
||||
|
||||
23.2.4.2 TypedArrayCreate ( constructor, argumentList )
|
||||
|
||||
...
|
||||
3. If argumentList is a List of a single Number, then
|
||||
a. If the value of newTypedArray's [[ArrayLength]] internal slot <
|
||||
argumentList[0], throw a TypeError exception.
|
||||
...
|
||||
includes: [testBigIntTypedArray.js]
|
||||
features: [BigInt, Symbol.species, TypedArray, resizable-arraybuffer]
|
||||
---*/
|
||||
|
||||
testWithBigIntTypedArrayConstructors(function(TA) {
|
||||
const sample = new TA(2);
|
||||
const rab = new ArrayBuffer(10, {maxByteLength: 20});
|
||||
const lengthTracking = new TA(rab);
|
||||
rab.resize(0);
|
||||
sample.constructor = {};
|
||||
sample.constructor[Symbol.species] = function() {
|
||||
return lengthTracking;
|
||||
};
|
||||
assert.throws(TypeError, function() {
|
||||
sample.map(() => {});
|
||||
});
|
||||
});
|
||||
|
40
test/built-ins/TypedArray/prototype/slice/BigInt/speciesctor-destination-resizable.js
vendored
Normal file
40
test/built-ins/TypedArray/prototype/slice/BigInt/speciesctor-destination-resizable.js
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
// Copyright (C) 2023 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-%typedarray%.prototype.slice
|
||||
description: >
|
||||
Throws a TypeError if new typedArray's length < count
|
||||
info: |
|
||||
23.2.3.27 %TypedArray%.prototype.slice ( start, end )
|
||||
|
||||
...
|
||||
9. Let A be ? TypedArraySpeciesCreate(O, « count »).
|
||||
...
|
||||
|
||||
23.2.4.1 TypedArraySpeciesCreate ( exemplar, argumentList )
|
||||
|
||||
...
|
||||
3. Let result be ? TypedArrayCreate(constructor, argumentList).
|
||||
|
||||
23.2.4.2 TypedArrayCreate ( constructor, argumentList )
|
||||
|
||||
...
|
||||
3. If argumentList is a List of a single Number, then
|
||||
a. If the value of newTypedArray's [[ArrayLength]] internal slot <
|
||||
argumentList[0], throw a TypeError exception.
|
||||
...
|
||||
includes: [testBigIntTypedArray.js]
|
||||
features: [BigInt, Symbol.species, TypedArray, resizable-arraybuffer]
|
||||
---*/
|
||||
|
||||
testWithBigIntTypedArrayConstructors(function(TA) {
|
||||
const rab1 = new ArrayBuffer(8, {maxByteLength: 100});
|
||||
const ta = new TA(rab1);
|
||||
const rab2 = new ArrayBuffer(10, {maxByteLength: 20});
|
||||
const lengthTracking = new TA(rab2);
|
||||
rab2.resize(0);
|
||||
ta.constructor = { [Symbol.species]: function() { return lengthTracking; } };
|
||||
assert.throws(TypeError, function() {
|
||||
ta.slice();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,43 @@
|
|||
// Copyright (C) 2023 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-%typedarray%.prototype.slice
|
||||
description: >
|
||||
Throws a TypeError if new typedArray's length < count
|
||||
info: |
|
||||
23.2.3.27 %TypedArray%.prototype.slice ( start, end )
|
||||
|
||||
...
|
||||
9. Let A be ? TypedArraySpeciesCreate(O, « count »).
|
||||
...
|
||||
|
||||
23.2.4.1 TypedArraySpeciesCreate ( exemplar, argumentList )
|
||||
|
||||
...
|
||||
3. Let result be ? TypedArrayCreate(constructor, argumentList).
|
||||
|
||||
23.2.4.2 TypedArrayCreate ( constructor, argumentList )
|
||||
|
||||
...
|
||||
3. If argumentList is a List of a single Number, then
|
||||
a. If the value of newTypedArray's [[ArrayLength]] internal slot <
|
||||
argumentList[0], throw a TypeError exception.
|
||||
...
|
||||
includes: [testBigIntTypedArray.js]
|
||||
features: [BigInt, Symbol.species, TypedArray, resizable-arraybuffer]
|
||||
---*/
|
||||
|
||||
|
||||
testWithBigIntTypedArrayConstructors(function(TA) {
|
||||
const sample = new TA(2);
|
||||
const rab = new ArrayBuffer(10, {maxByteLength: 20});
|
||||
const lengthTracking = new TA(rab);
|
||||
rab.resize(0);
|
||||
sample.constructor = {};
|
||||
sample.constructor[Symbol.species] = function() {
|
||||
return lengthTracking;
|
||||
};
|
||||
assert.throws(TypeError, function() {
|
||||
sample.slice();
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue