-
Notifications
You must be signed in to change notification settings - Fork 473
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add copies of resizable ArrayBuffer species constructor tests to BigI…
…nt 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
- Loading branch information
Showing
6 changed files
with
248 additions
and
0 deletions.
There are no files selected for viewing
40 changes: 40 additions & 0 deletions
40
test/built-ins/TypedArray/prototype/filter/BigInt/speciesctor-destination-resizable.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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); | ||
}); | ||
}); |
42 changes: 42 additions & 0 deletions
42
.../filter/BigInt/speciesctor-get-species-custom-ctor-length-throws-resizable-arraybuffer.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 changes: 40 additions & 0 deletions
40
test/built-ins/TypedArray/prototype/map/BigInt/speciesctor-destination-resizable.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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(() => {}); | ||
}); | ||
}); |
43 changes: 43 additions & 0 deletions
43
...ype/map/BigInt/speciesctor-get-species-custom-ctor-length-throws-resizable-arraybuffer.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 changes: 40 additions & 0 deletions
40
test/built-ins/TypedArray/prototype/slice/BigInt/speciesctor-destination-resizable.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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(); | ||
}); | ||
}); |
43 changes: 43 additions & 0 deletions
43
...e/slice/BigInt/speciesctor-get-species-custom-ctor-length-throws-resizable-arraybuffer.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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(); | ||
}); | ||
}); |