mirror of https://github.com/tc39/test262.git
Add test that TypedArray.prototype.set doesn't throw if a getter for an element detaches
This commit is contained in:
parent
8b29141224
commit
3ac6b73369
|
@ -0,0 +1,36 @@
|
|||
// Copyright (C) 2022 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: >
|
||||
Does not throw if target TA is detached mid-iteration
|
||||
includes: [testTypedArray.js, detachArrayBuffer.js]
|
||||
features: [TypedArray]
|
||||
---*/
|
||||
|
||||
testWithTypedArrayConstructors(function(TA) {
|
||||
var sample = new TA([1, 2, 3]);
|
||||
var obj = {
|
||||
length: 3,
|
||||
"0": 42
|
||||
};
|
||||
Object.defineProperty(obj, 1, {
|
||||
get: function() {
|
||||
$DETACHBUFFER(sample.buffer);
|
||||
}
|
||||
});
|
||||
let get2Called = false;
|
||||
Object.defineProperty(obj, 2, {
|
||||
get: function() {
|
||||
get2Called = true;
|
||||
return 2;
|
||||
}
|
||||
});
|
||||
|
||||
sample.set(obj);
|
||||
|
||||
assert.sameValue(true, get2Called);
|
||||
assert.sameValue(0, sample.byteLength);
|
||||
assert.sameValue(0, sample.byteOffset);
|
||||
assert.sameValue(0, sample.length);
|
||||
});
|
Loading…
Reference in New Issue