mirror of https://github.com/tc39/test262.git
27 lines
876 B
JavaScript
27 lines
876 B
JavaScript
// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
esid: sec-atomics.add
|
|
description: >
|
|
Test range checking of Atomics.add on arrays that allow atomic operations
|
|
includes: [testAtomics.js, testTypedArray.js]
|
|
features: [SharedArrayBuffer, ArrayBuffer, DataView, Atomics, arrow-function, let, TypedArray, for-of]
|
|
---*/
|
|
|
|
var sab = new SharedArrayBuffer(8);
|
|
var views = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array];
|
|
|
|
if (typeof BigInt !== "undefined") {
|
|
views.push(BigInt64Array);
|
|
views.push(BigUint64Array);
|
|
}
|
|
|
|
testWithTypedArrayConstructors(function(View) {
|
|
let view = new View(sab);
|
|
testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
|
|
let Idx = IdxGen(view);
|
|
assert.throws(RangeError, () => Atomics.add(view, Idx, 10));
|
|
});
|
|
}, views);
|