summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/TypedArray/prototype/set/BigInt/symbol-tobigint.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/built-ins/TypedArray/prototype/set/BigInt/symbol-tobigint.js')
-rw-r--r--js/src/tests/test262/built-ins/TypedArray/prototype/set/BigInt/symbol-tobigint.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/TypedArray/prototype/set/BigInt/symbol-tobigint.js b/js/src/tests/test262/built-ins/TypedArray/prototype/set/BigInt/symbol-tobigint.js
new file mode 100644
index 0000000000..a8bdad37af
--- /dev/null
+++ b/js/src/tests/test262/built-ins/TypedArray/prototype/set/BigInt/symbol-tobigint.js
@@ -0,0 +1,52 @@
+// Copyright (C) 2018 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-%typedarray%.prototype.set-array-offset
+description: >
+ Return abrupt on Symbol
+info: |
+ %TypedArray%.prototype.set ( array [ , offset ] )
+ Sets multiple values in this TypedArray, reading the values from the object
+ array. The optional offset value indicates the first element index in this
+ TypedArray where values are written. If omitted, it is assumed to be 0.
+ ...
+ 21. Repeat, while targetByteIndex < limit
+ a. Let Pk be ! ToString(k).
+ b. Let kNumber be ? ToNumber(? Get(src, Pk)).
+ c. Let value be ? Get(src, Pk).
+ d. If target.[[TypedArrayName]] is "BigUint64Array" or "BigInt64Array",
+ let value be ? ToBigInt(value).
+ e. Otherwise, let value be ? ToNumber(value).
+ f. If IsDetachedBuffer(targetBuffer) is true, throw a TypeError exception.
+ g. Perform SetValueInBuffer(targetBuffer, targetByteIndex, targetType,
+ kNumbervalue, true, "Unordered").
+ h. Set k to k + 1.
+ i. Set targetByteIndex to targetByteIndex + targetElementSize.
+ ...
+
+ ToBigInt ( argument )
+
+ Object, Apply the following steps:
+ 1. Let prim be ? ToPrimitive(argument, hint Number).
+ 2. Return the value that prim corresponds to in Table [BigInt Conversions]
+
+ BigInt Conversions
+ Argument Type: Symbol
+ Result: Throw a TypeError exception.
+
+includes: [testBigIntTypedArray.js]
+features: [BigInt, TypedArray, Symbol]
+---*/
+
+var s = Symbol()
+
+testWithBigIntTypedArrayConstructors(function(TA) {
+ var typedArray = new TA(1)
+
+ assert.throws(TypeError, function() {
+ typedArray.set([s]);
+ }, "abrupt completion from Symbol");
+
+});
+
+reportCompare(0, 0);