| Index: test/mjsunit/es6/typedarray-reduce.js
|
| diff --git a/test/mjsunit/es6/typedarray-reduce.js b/test/mjsunit/es6/typedarray-reduce.js
|
| index 1fddeca0bc749973a8f1ef68b4c6716cb0ad50b0..ba5d7f7a20dcdd52ce7afb6df1d64faa81ca5e92 100644
|
| --- a/test/mjsunit/es6/typedarray-reduce.js
|
| +++ b/test/mjsunit/es6/typedarray-reduce.js
|
| @@ -2,6 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +// Flags: --allow-natives-syntax
|
| +
|
| var typedArrayConstructors = [
|
| Uint8Array,
|
| Int8Array,
|
| @@ -247,4 +249,18 @@ for (var constructor of typedArrayConstructors) {
|
|
|
| assertEquals(1, constructor.prototype.reduce.length);
|
| assertEquals(1, constructor.prototype.reduceRight.length);
|
| +
|
| + // Detached Operation
|
| + var tmp = {
|
| + [Symbol.toPrimitive]() {
|
| + assertUnreachable("Parameter should not be processed when " +
|
| + "array.[[ViewedArrayBuffer]] is neutered.");
|
| + return 0;
|
| + }
|
| + };
|
| +
|
| + var array = new constructor([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
|
| + %ArrayBufferNeuter(array.buffer);
|
| + assertThrows(() => array.reduce(sum, tmp), TypeError);
|
| + assertThrows(() => array.reduceRight(sum, tmp), TypeError);
|
| }
|
|
|