diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/tests/non262/Symbol/typed-arrays.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/js/src/tests/non262/Symbol/typed-arrays.js b/js/src/tests/non262/Symbol/typed-arrays.js new file mode 100644 index 0000000000..a07cf396bb --- /dev/null +++ b/js/src/tests/non262/Symbol/typed-arrays.js @@ -0,0 +1,17 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/licenses/publicdomain/ */ + +// Symbol-to-number type conversions involving typed arrays. + +for (var T of [Uint8Array, Uint8ClampedArray, Int16Array, Float32Array]) { + // Typed array constructors convert symbols using ToNumber(), which throws. + assertThrowsInstanceOf(() => new T([Symbol("a")]), TypeError); + + // Assignment does the same. + var arr = new T([1]); + assertThrowsInstanceOf(() => { arr[0] = Symbol.iterator; }, TypeError); + assertEq(arr[0], 1); +} + +if (typeof reportCompare === "function") + reportCompare(0, 0); |