diff options
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.js | 52 |
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); |