// Copyright (C) 2018 Rick Waldron. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: sec-atomics.exchange description: > Test range checking of Atomics.exchange on arrays that allow atomic operations includes: [testAtomics.js, testBigIntTypedArray.js] features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray] ---*/ var buffer = new SharedArrayBuffer(8); testWithBigIntTypedArrayConstructors(function(TA) { let view = new TA(buffer); testWithAtomicsOutOfBoundsIndices(function(IdxGen) { assert.throws( RangeError, () => Atomics.exchange(view, IdxGen(view), 10, 0), 'Atomics.exchange(view, IdxGen(view), 10, 0) throws RangeError' ); }); });