diff options
Diffstat (limited to 'test/built-ins/TypedArray/prototype/slice/BigInt/results-with-same-length.js')
-rw-r--r-- | test/built-ins/TypedArray/prototype/slice/BigInt/results-with-same-length.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/built-ins/TypedArray/prototype/slice/BigInt/results-with-same-length.js b/test/built-ins/TypedArray/prototype/slice/BigInt/results-with-same-length.js new file mode 100644 index 000000000..a8cee48aa --- /dev/null +++ b/test/built-ins/TypedArray/prototype/slice/BigInt/results-with-same-length.js @@ -0,0 +1,32 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-%typedarray%.prototype.slice +description: slice may return a new instance with the same length +includes: [testBigIntTypedArray.js, compareArray.js] +features: [BigInt, TypedArray] +---*/ + +testWithBigIntTypedArrayConstructors(function(TA) { + var sample = new TA(convertToBigInt([40, 41, 42, 43])); + + function testRes(result, msg) { + assert.sameValue(result.length, 4, msg); + assert.sameValue(result[0], convertToBigInt(40), msg + " & result[0] === 40"); + assert.sameValue(result[1], convertToBigInt(41), msg + " & result[1] === 41"); + assert.sameValue(result[2], convertToBigInt(42), msg + " & result[2] === 42"); + assert.sameValue(result[3], convertToBigInt(43), msg + " & result[3] === 43"); + } + + testRes(sample.slice(0), "begin == 0"); + testRes(sample.slice(-4), "begin == -srcLength"); + testRes(sample.slice(-5), "begin < -srcLength"); + + testRes(sample.slice(0, 4), "begin == 0, end == srcLength"); + testRes(sample.slice(-4, 4), "begin == -srcLength, end == srcLength"); + testRes(sample.slice(-5, 4), "begin < -srcLength, end == srcLength"); + + testRes(sample.slice(0, 5), "begin == 0, end > srcLength"); + testRes(sample.slice(-4, 5), "begin == -srcLength, end > srcLength"); + testRes(sample.slice(-5, 5), "begin < -srcLength, end > srcLength"); +}); |