mirror of
https://github.com/tc39/test262.git
synced 2025-09-26 03:28:50 +02:00
Remove unnecessary tests if $262.detachArrayBuffer is defined
This commit is contained in:
parent
11c8fe0a99
commit
61286de40c
@ -8,6 +8,7 @@ description: |
|
|||||||
pending
|
pending
|
||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var buffer = new ArrayBuffer(2);
|
var buffer = new ArrayBuffer(2);
|
||||||
var view = new DataView(buffer);
|
var view = new DataView(buffer);
|
||||||
|
|
||||||
@ -30,7 +31,6 @@ for (let fun of ['getInt8', 'getInt16']) {
|
|||||||
assert.sameValue(view[fun](NaN), 0);
|
assert.sameValue(view[fun](NaN), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('$262.detachArrayBuffer' in this) {
|
|
||||||
// ToIndex is called before detachment check, so we can tell the difference
|
// ToIndex is called before detachment check, so we can tell the difference
|
||||||
// between a ToIndex failure and a real out of bounds failure.
|
// between a ToIndex failure and a real out of bounds failure.
|
||||||
$262.detachArrayBuffer(buffer);
|
$262.detachArrayBuffer(buffer);
|
||||||
@ -41,5 +41,3 @@ if ('$262.detachArrayBuffer' in this) {
|
|||||||
assert.throws(TypeError, () => view.setInt8(0, 0));
|
assert.throws(TypeError, () => view.setInt8(0, 0));
|
||||||
assert.throws(TypeError, () => view.getInt8(Math.pow(2, 53) - 1));
|
assert.throws(TypeError, () => view.getInt8(Math.pow(2, 53) - 1));
|
||||||
assert.throws(TypeError, () => view.setInt8(Math.pow(2, 53) - 1, 0));
|
assert.throws(TypeError, () => view.setInt8(Math.pow(2, 53) - 1, 0));
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -9,17 +9,15 @@ description: |
|
|||||||
pending
|
pending
|
||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
function checkResult(actual, expected)
|
function checkResult(actual, expected)
|
||||||
{
|
{
|
||||||
assert.sameValue(actual.value, expected.value);
|
assert.sameValue(actual.value, expected.value);
|
||||||
assert.sameValue(actual.done, expected.done);
|
assert.sameValue(actual.done, expected.done);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof $262.detachArrayBuffer === "function")
|
|
||||||
{
|
|
||||||
var iteratorFunction = Uint8Array.prototype[Symbol.iterator];
|
var iteratorFunction = Uint8Array.prototype[Symbol.iterator];
|
||||||
|
|
||||||
|
|
||||||
var thisGlobal = this;
|
var thisGlobal = this;
|
||||||
var otherGlobal = $262.createRealm().global;
|
var otherGlobal = $262.createRealm().global;
|
||||||
|
|
||||||
@ -78,5 +76,3 @@ if (typeof $262.detachArrayBuffer === "function")
|
|||||||
assert.throws(TypeError, () => thisNext.call(iterator));
|
assert.throws(TypeError, () => thisNext.call(iterator));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ description: |
|
|||||||
pending
|
pending
|
||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// Tests for detached ArrayBuffer checks in %TypedArray%.prototype.set(array|typedArray, offset).
|
// Tests for detached ArrayBuffer checks in %TypedArray%.prototype.set(array|typedArray, offset).
|
||||||
|
|
||||||
function* createTypedArrays(lengths = [0, 1, 4, 4096]) {
|
function* createTypedArrays(lengths = [0, 1, 4, 4096]) {
|
||||||
@ -19,7 +20,6 @@ function* createTypedArrays(lengths = [0, 1, 4, 4096]) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof $262.detachArrayBuffer === "function") {
|
|
||||||
class ExpectedError extends Error {}
|
class ExpectedError extends Error {}
|
||||||
|
|
||||||
// No detached check on function entry.
|
// No detached check on function entry.
|
||||||
@ -269,5 +269,3 @@ if (typeof $262.detachArrayBuffer === "function") {
|
|||||||
assert.sameValue(accessed, true);
|
assert.sameValue(accessed, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -24,9 +24,7 @@ for (var constructor of anyTypedArrayConstructors) {
|
|||||||
assert.sameValue(Object.hasOwn(receiver, 10), false);
|
assert.sameValue(Object.hasOwn(receiver, 10), false);
|
||||||
|
|
||||||
// Detached
|
// Detached
|
||||||
if (typeof $262.detachArrayBuffer === "function" &&
|
if (!isSharedConstructor(constructor)) {
|
||||||
!isSharedConstructor(constructor))
|
|
||||||
{
|
|
||||||
$262.detachArrayBuffer(ta.buffer)
|
$262.detachArrayBuffer(ta.buffer)
|
||||||
|
|
||||||
assert.sameValue(ta[0], undefined);
|
assert.sameValue(ta[0], undefined);
|
||||||
|
@ -9,6 +9,7 @@ description: |
|
|||||||
pending
|
pending
|
||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// Test %TypedArray%.prototype.set(typedArray, offset) when called with wrapped
|
// Test %TypedArray%.prototype.set(typedArray, offset) when called with wrapped
|
||||||
// typed array.
|
// typed array.
|
||||||
|
|
||||||
@ -35,7 +36,7 @@ for (var TA of anyTypedArrayConstructors) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Detachment checks are also applied correctly for wrapped typed arrays.
|
// Detachment checks are also applied correctly for wrapped typed arrays.
|
||||||
if (typeof $262.detachArrayBuffer === "function") {
|
|
||||||
// Create typed array from different global (explicit constructor call).
|
// Create typed array from different global (explicit constructor call).
|
||||||
for (var TA of typedArrayConstructors) {
|
for (var TA of typedArrayConstructors) {
|
||||||
var target = new TA(4);
|
var target = new TA(4);
|
||||||
@ -84,4 +85,3 @@ if (typeof $262.detachArrayBuffer === "function") {
|
|||||||
};
|
};
|
||||||
assert.throws(TypeError, () => target.set(source, offset));
|
assert.throws(TypeError, () => target.set(source, offset));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -8,6 +8,7 @@ description: |
|
|||||||
pending
|
pending
|
||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// Tests for detached ArrayBuffer checks in %TypedArray%.prototype.slice ( start, end ).
|
// Tests for detached ArrayBuffer checks in %TypedArray%.prototype.slice ( start, end ).
|
||||||
|
|
||||||
function* createTypedArrays(lengths = [0, 1, 4, 4096]) {
|
function* createTypedArrays(lengths = [0, 1, 4, 4096]) {
|
||||||
@ -27,7 +28,6 @@ function* createTypedArrays(lengths = [0, 1, 4, 4096]) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof $262.detachArrayBuffer === "function") {
|
|
||||||
// ArrayBuffer is detached when entering slice().
|
// ArrayBuffer is detached when entering slice().
|
||||||
for (let {typedArray, buffer} of createTypedArrays()) {
|
for (let {typedArray, buffer} of createTypedArrays()) {
|
||||||
$262.detachArrayBuffer(buffer());
|
$262.detachArrayBuffer(buffer());
|
||||||
@ -107,5 +107,3 @@ if (typeof $262.detachArrayBuffer === "function") {
|
|||||||
}
|
}
|
||||||
assert.sameValue(detached, true, "$262.detachArrayBuffer was called");
|
assert.sameValue(detached, true, "$262.detachArrayBuffer was called");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -8,18 +8,17 @@ description: |
|
|||||||
pending
|
pending
|
||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
// Ensure that TypedArrays throw when attempting to sort a detached ArrayBuffer
|
// Ensure that TypedArrays throw when attempting to sort a detached ArrayBuffer
|
||||||
if (typeof $262.detachArrayBuffer === "function") {
|
|
||||||
assert.throws(TypeError, () => {
|
assert.throws(TypeError, () => {
|
||||||
let buffer = new ArrayBuffer(32);
|
let buffer = new ArrayBuffer(32);
|
||||||
let array = new Int32Array(buffer);
|
let array = new Int32Array(buffer);
|
||||||
$262.detachArrayBuffer(buffer);
|
$262.detachArrayBuffer(buffer);
|
||||||
array.sort();
|
array.sort();
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
// Ensure detaching buffer in comparator doesn't throw an error.
|
// Ensure detaching buffer in comparator doesn't throw an error.
|
||||||
if (typeof $262.detachArrayBuffer === "function") {
|
{
|
||||||
let detached = false;
|
let detached = false;
|
||||||
let ta = new Int32Array(3);
|
let ta = new Int32Array(3);
|
||||||
ta.sort(function(a, b) {
|
ta.sort(function(a, b) {
|
||||||
@ -43,7 +42,7 @@ let otherGlobal = $262.createRealm().global;
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ensure detaching buffer in comparator doesn't throw an error when the typed array is wrapped.
|
// Ensure detaching buffer in comparator doesn't throw an error when the typed array is wrapped.
|
||||||
if (typeof $262.detachArrayBuffer === "function") {
|
{
|
||||||
let detached = false;
|
let detached = false;
|
||||||
let ta = new Int32Array(3);
|
let ta = new Int32Array(3);
|
||||||
otherGlobal.Int32Array.prototype.sort.call(ta, function(a,b) {
|
otherGlobal.Int32Array.prototype.sort.call(ta, function(a,b) {
|
||||||
|
@ -9,8 +9,7 @@ description: |
|
|||||||
pending
|
pending
|
||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
// Bug 1291003
|
|
||||||
if (typeof $262.detachArrayBuffer === "function") {
|
|
||||||
for (let constructor of typedArrayConstructors) {
|
for (let constructor of typedArrayConstructors) {
|
||||||
const elementSize = constructor.BYTES_PER_ELEMENT;
|
const elementSize = constructor.BYTES_PER_ELEMENT;
|
||||||
|
|
||||||
@ -34,5 +33,3 @@ if (typeof $262.detachArrayBuffer === "function") {
|
|||||||
|
|
||||||
assert.sameValue(targetOffset, 1 * elementSize);
|
assert.sameValue(targetOffset, 1 * elementSize);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ description: |
|
|||||||
pending
|
pending
|
||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
if (typeof $262.detachArrayBuffer === "function") {
|
|
||||||
const originalNumberToLocaleString = Number.prototype.toLocaleString;
|
const originalNumberToLocaleString = Number.prototype.toLocaleString;
|
||||||
|
|
||||||
// Throws if array buffer is detached.
|
// Throws if array buffer is detached.
|
||||||
@ -43,5 +43,3 @@ if (typeof $262.detachArrayBuffer === "function") {
|
|||||||
assert.sameValue(detached, true);
|
assert.sameValue(detached, true);
|
||||||
}
|
}
|
||||||
Number.prototype.toLocaleString = originalNumberToLocaleString;
|
Number.prototype.toLocaleString = originalNumberToLocaleString;
|
||||||
}
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user