mirror of https://github.com/tc39/test262.git
Remove check for per-iteration detach check in TypedArray.prototype.set
Note that this test currently unintentionally passes, because a TypeError is thrown for failing to convert the undefined returned from the getter to a BigInt. But since this test was intended to test detaching, it's no longer valid and should still be removed. See https://github.com/tc39/test262/pull/3465#issuecomment-1098388916
This commit is contained in:
parent
4dafd2158b
commit
1c19242ae4
|
@ -1,45 +0,0 @@
|
||||||
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
|
||||||
// This code is governed by the BSD license found in the LICENSE file.
|
|
||||||
/*---
|
|
||||||
esid: sec-%typedarray%.prototype.set-array-offset
|
|
||||||
description: >
|
|
||||||
Throws an error if buffer is detached before setting a value
|
|
||||||
info: |
|
|
||||||
22.2.3.23.1 %TypedArray%.prototype.set (array [ , offset ] )
|
|
||||||
|
|
||||||
1. Assert: array is any ECMAScript language value other than an Object with a
|
|
||||||
[[TypedArrayName]] internal slot. If it is such an Object, the definition in
|
|
||||||
22.2.3.23.2 applies.
|
|
||||||
...
|
|
||||||
21. Repeat, while targetByteIndex < limit
|
|
||||||
a. Let Pk be ! ToString(k).
|
|
||||||
b. Let kNumber be ? ToNumber(? Get(src, Pk)).
|
|
||||||
c. If IsDetachedBuffer(targetBuffer) is true, throw a TypeError exception.
|
|
||||||
d. Perform SetValueInBuffer(targetBuffer, targetByteIndex, targetType,
|
|
||||||
kNumber).
|
|
||||||
...
|
|
||||||
includes: [testBigIntTypedArray.js, detachArrayBuffer.js]
|
|
||||||
features: [BigInt, TypedArray]
|
|
||||||
---*/
|
|
||||||
|
|
||||||
testWithBigIntTypedArrayConstructors(function(TA) {
|
|
||||||
var sample = new TA([1n, 2n, 3n]);
|
|
||||||
var obj = {
|
|
||||||
length: 3,
|
|
||||||
"0": 42n
|
|
||||||
};
|
|
||||||
Object.defineProperty(obj, 1, {
|
|
||||||
get: function() {
|
|
||||||
$DETACHBUFFER(sample.buffer);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Object.defineProperty(obj, 2, {
|
|
||||||
get: function() {
|
|
||||||
throw new Test262Error("Should not get other values");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
assert.throws(TypeError, function() {
|
|
||||||
sample.set(obj);
|
|
||||||
});
|
|
||||||
});
|
|
Loading…
Reference in New Issue