Backed out 3 changesets (bug 1892041) for causing failures on async-module-does-not...
[gecko.git] / js / src / tests / test262 / built-ins / Atomics / notify / non-shared-bufferdata-count-evaluation-throws.js
blobc7456694495ca8f1aea3eb446fdd3fbc47b834b1
1 // |reftest| skip-if(!this.hasOwnProperty('Atomics')) -- Atomics is not enabled unconditionally
2 // Copyright (C) 2020 Rick Waldron. All rights reserved.
3 // This code is governed by the BSD license found in the LICENSE file.
4 /*---
5 esid: sec-atomics.notify
6 description: >
7   Evaluates count before returning 0, when TA.buffer is not a SharedArrayBuffer
8 info: |
9   Atomics.notify( typedArray, index, count )
11   Let buffer be ? ValidateIntegerTypedArray(typedArray, true).
12   ...
13   Else,
14     Let intCount be ? ToInteger(count).
15     Let c be max(intCount, 0).
16   ...
17   If IsSharedArrayBuffer(buffer) is false, return 0.
20 features: [ArrayBuffer, Atomics, TypedArray]
21 ---*/
23 const i32a = new Int32Array(
24   new ArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
27 const poisoned = {
28   valueOf() {
29     throw new Test262Error();
30   }
33 assert.throws(Test262Error, function() {
34   Atomics.notify(i32a, 0, poisoned);
35 }, '`Atomics.notify(i32a, 0, poisoned)` throws Test262Error');
39 reportCompare(0, 0);