From 9aa15de18f7a48447878283c5d589fc8d9432ad7 Mon Sep 17 00:00:00 2001 From: Robin Templeton Date: Tue, 24 Oct 2017 11:48:59 -0400 Subject: [PATCH 1/2] getBigUint64 tests --- ...etached-buffer-after-toindex-byteoffset.js | 36 +++++++++ ...hed-buffer-before-outofrange-byteoffset.js | 35 +++++++++ .../prototype/getBigUint64/detached-buffer.js | 30 ++++++++ .../getBigUint64/index-is-out-of-range.js | 75 +++++++++++++++++++ .../DataView/prototype/getBigUint64/length.js | 32 ++++++++ .../DataView/prototype/getBigUint64/name.js | 31 ++++++++ .../negative-byteoffset-throws.js | 30 ++++++++ ...-abrupt-from-tonumber-byteoffset-symbol.js | 28 +++++++ .../return-abrupt-from-tonumber-byteoffset.js | 31 ++++++++ .../return-value-clean-arraybuffer.js | 48 ++++++++++++ .../return-values-custom-offset.js | 68 +++++++++++++++++ .../prototype/getBigUint64/return-values.js | 69 +++++++++++++++++ .../this-has-no-dataview-internal.js | 34 +++++++++ .../getBigUint64/this-is-not-object.js | 37 +++++++++ .../getBigUint64/to-boolean-littleendian.js | 53 +++++++++++++ .../getBigUint64/toindex-byteoffset.js | 54 +++++++++++++ 16 files changed, 691 insertions(+) create mode 100644 test/built-ins/DataView/prototype/getBigUint64/detached-buffer-after-toindex-byteoffset.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/detached-buffer-before-outofrange-byteoffset.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/detached-buffer.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/index-is-out-of-range.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/length.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/name.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/negative-byteoffset-throws.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset-symbol.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/return-value-clean-arraybuffer.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/return-values-custom-offset.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/return-values.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/this-has-no-dataview-internal.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/this-is-not-object.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/to-boolean-littleendian.js create mode 100644 test/built-ins/DataView/prototype/getBigUint64/toindex-byteoffset.js diff --git a/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-after-toindex-byteoffset.js b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-after-toindex-byteoffset.js new file mode 100644 index 0000000000..dfa45b9214 --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-after-toindex-byteoffset.js @@ -0,0 +1,36 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Detached buffer is only checked after ToIndex(requestIndex) +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 4. Let getIndex be ? ToIndex(requestIndex). + ... + 6. Let buffer be view.[[ViewedArrayBuffer]]. + 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception. + ... +includes: [detachArrayBuffer.js] +features: [DataView, ArrayBuffer, BigInt, arrow-function] +---*/ + +var buffer = new ArrayBuffer(8); +var sample = new DataView(buffer, 0); + +$DETACHBUFFER(buffer); + +assert.throws(RangeError, () => sample.getBigUint64(Infinity), + "DataView access at index Infinity should throw"); + +assert.throws(RangeError, () => sample.getBigUint64(-1), + "DataView access at index -1 should throw"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-before-outofrange-byteoffset.js b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-before-outofrange-byteoffset.js new file mode 100644 index 0000000000..79f14736b2 --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-before-outofrange-byteoffset.js @@ -0,0 +1,35 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Detached buffer is checked before out of range byteOffset's value +info: | + 24.2.4.8 DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 6. Let buffer be view.[[ViewedArrayBuffer]]. + 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception. + ... + 11. If getIndex + elementSize > viewSize, throw a RangeError exception. + ... +includes: [detachArrayBuffer.js] +features: [DataView, ArrayBuffer, BigInt, arrow-function] +---*/ + +var sample; +var buffer = new ArrayBuffer(12); + +sample = new DataView(buffer, 0); + +$DETACHBUFFER(buffer); + +assert.throws(TypeError, () => sample.getBigUint64(13), + "detached DataView access should throw"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/detached-buffer.js b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer.js new file mode 100644 index 0000000000..83a67e362d --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer.js @@ -0,0 +1,30 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Throws a TypeError if buffer is detached +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot. + 9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception. + ... +includes: [detachArrayBuffer.js] +features: [DataView, ArrayBuffer, BigInt, arrow-function] +---*/ + +var buffer = new ArrayBuffer(1); +var sample = new DataView(buffer, 0); + +$DETACHBUFFER(buffer); +assert.throws(TypeError, () => sample.getBigUint64(0), + "detached DataView access should throw"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/index-is-out-of-range.js b/test/built-ins/DataView/prototype/getBigUint64/index-is-out-of-range.js new file mode 100644 index 0000000000..e0e929e9de --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/index-is-out-of-range.js @@ -0,0 +1,75 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Throws a RangeError if getIndex + elementSize > viewSize +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 10. Let viewOffset be the value of view's [[ByteOffset]] internal slot. + 11. Let viewSize be the value of view's [[ByteLength]] internal slot. + 12. Let elementSize be the Number value of the Element Size value specified in + Table 50 for Element Type type. + 13. If getIndex + elementSize > viewSize, throw a RangeError exception. + ... +features: [DataView, ArrayBuffer, BigInt, arrow-function] +---*/ + +var sample; +var buffer = new ArrayBuffer(12); + +sample = new DataView(buffer, 0); + +assert.throws(RangeError, () => sample.getBigUint64(Infinity), + "DataView access at index Infinity should throw"); + +assert.throws(RangeError, () => sample.getBigUint64(13), "13 + 8 > 12"); + +assert.throws(RangeError, () => sample.getBigUint64(12), "12 + 8 > 12"); + +assert.throws(RangeError, () => sample.getBigUint64(11), "11 + 8 > 12"); + +assert.throws(RangeError, () => sample.getBigUint64(10), "10 + 8 > 12"); + +assert.throws(RangeError, () => sample.getBigUint64(9), "9 + 8 > 12"); + +assert.throws(RangeError, () => sample.getBigUint64(8), "8 + 8 > 12"); + +assert.throws(RangeError, () => sample.getBigUint64(7), "7 + 8 > 12"); + +assert.throws(RangeError, () => sample.getBigUint64(6), "6 + 8 > 12"); + +assert.throws(RangeError, () => sample.getBigUint64(5), "5 + 8 > 12"); + +sample = new DataView(buffer, 8); +assert.throws(RangeError, () => sample.getBigUint64(1), + "1 + 8 > 4 (offset)"); + +sample = new DataView(buffer, 9); +assert.throws(RangeError, () => sample.getBigUint64(0), + "0 + 8 > 3 (offset)"); + +sample = new DataView(buffer, 0, 8); +assert.throws(RangeError, () => sample.getBigUint64(1), + "1 + 8 > 8 (length)"); + +sample = new DataView(buffer, 0, 7); +assert.throws(RangeError, () => sample.getBigUint64(0), + "0 + 8 > 7 (length)"); + +sample = new DataView(buffer, 4, 8); +assert.throws(RangeError, () => sample.getBigUint64(1), + "1 + 8 > 8 (offset+length)"); + +sample = new DataView(buffer, 4, 7); +assert.throws(RangeError, () => sample.getBigUint64(0), + "0 + 8 > 7 (offset+length)"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/length.js b/test/built-ins/DataView/prototype/getBigUint64/length.js new file mode 100644 index 0000000000..8d97646f95 --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/length.js @@ -0,0 +1,32 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: DataView.prototype.getBigInt64.length property descriptor +info: > + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 17 ECMAScript Standard Built-in Objects + + Every built-in function object, including constructors, has a length + property whose value is an integer. Unless otherwise specified, this + value is equal to the largest number of named arguments shown in the + subclause headings for the function description. Optional parameters + (which are indicated with brackets: [ ]) or rest parameters (which + are shown using the form «...name») are not included in the default + argument count. + + Unless otherwise specified, the length property of a built-in + function object has the attributes { [[Writable]]: false, + [[Enumerable]]: false, [[Configurable]]: true }. +includes: [propertyHelper.js] +features: [DataView, ArrayBuffer, BigInt] +---*/ + +verifyProperty(DataView.prototype.getBigUint64, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true +}); diff --git a/test/built-ins/DataView/prototype/getBigUint64/name.js b/test/built-ins/DataView/prototype/getBigUint64/name.js new file mode 100644 index 0000000000..9d6a0c97b7 --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/name.js @@ -0,0 +1,31 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: DataView.prototype.getBigInt64.name property descriptor +info: > + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 17 ECMAScript Standard Built-in Objects + + Every built-in function object, including constructors, that is not + identified as an anonymous function has a name property whose value + is a String. Unless otherwise specified, this value is the name that + is given to the function in this specification. For functions that + are specified as properties of objects, the name value is the + property name string used to access the function. [...] + + Unless otherwise specified, the name property of a built-in function + object, if it exists, has the attributes { [[Writable]]: false, + [[Enumerable]]: false, [[Configurable]]: true }. +includes: [propertyHelper.js] +features: [DataView, ArrayBuffer, BigInt] +---*/ + +verifyProperty(DataView.prototype.getBigUint64, "name", { + value: "getBigUint64", + writable: false, + enumerable: false, + configurable: true +}); diff --git a/test/built-ins/DataView/prototype/getBigUint64/negative-byteoffset-throws.js b/test/built-ins/DataView/prototype/getBigUint64/negative-byteoffset-throws.js new file mode 100644 index 0000000000..aab6d7eb0d --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/negative-byteoffset-throws.js @@ -0,0 +1,30 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Throws a RangeError if getIndex < 0 +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 4. Let getIndex be ? ToIndex(requestIndex). + ... +features: [DataView, ArrayBuffer, BigInt, arrow-function] +---*/ + +var buffer = new ArrayBuffer(12); +var sample = new DataView(buffer, 0); + +assert.throws(RangeError, () => sample.getBigUint64(-1), + "DataView access at index -1 should throw"); + +assert.throws(RangeError, () => sample.getBigUint64(-Infinity), + "DataView access at index -Infinity should throw"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset-symbol.js b/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset-symbol.js new file mode 100644 index 0000000000..993473370e --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset-symbol.js @@ -0,0 +1,28 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Return abrupt from ToNumber(symbol byteOffset) +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 4. Let getIndex be ? ToNumber(requestIndex). + ... +features: [DataView, ArrayBuffer, Symbol, BigInt, arrow-function] +---*/ + +var buffer = new ArrayBuffer(1); +var sample = new DataView(buffer, 0); + +var s = Symbol("1"); + +assert.throws(TypeError, () => sample.getBigUint64(s)); diff --git a/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset.js b/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset.js new file mode 100644 index 0000000000..39e995324b --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset.js @@ -0,0 +1,31 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Return abrupt from ToNumber(byteOffset) +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 4. Let getIndex be ? ToNumber(requestIndex). + ... +features: [DataView, ArrayBuffer, BigInt, arrow-function] +---*/ + +var buffer = new ArrayBuffer(1); +var sample = new DataView(buffer, 0); + +var bo1 = { valueOf() { throw new Test262Error(); } }; +var bo2 = { toString() { throw new Test262Error(); } }; + +assert.throws(Test262Error, () => sample.getBigUint64(bo1), "valueOf"); + +assert.throws(Test262Error, () => sample.getBigUint64(bo2), "toString"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/return-value-clean-arraybuffer.js b/test/built-ins/DataView/prototype/getBigUint64/return-value-clean-arraybuffer.js new file mode 100644 index 0000000000..a2cb7b2d67 --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/return-value-clean-arraybuffer.js @@ -0,0 +1,48 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Return value from Buffer using a clean ArrayBuffer +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 12. Let bufferIndex be getIndex + viewOffset. + 13. Return GetValueFromBuffer(buffer, bufferIndex, type, false, + "Unordered", isLittleEndian). + + 24.1.1.6 GetValueFromBuffer ( arrayBuffer, byteIndex, type, + isTypedArray, order [ , isLittleEndian ] ) + + ... + 9. Return RawBytesToNumber(type, rawValue, isLittleEndian). + + 24.1.1.5 RawBytesToNumber( type, rawBytes, isLittleEndian ) + + ... + 2. If isLittleEndian is false, reverse the order of the elements of rawBytes. + ... +features: [DataView, ArrayBuffer, BigInt] +---*/ + +var buffer = new ArrayBuffer(12); +var sample = new DataView(buffer, 0); + +assert.sameValue(sample.getBigUint64(0, true), 0n, "sample.getBigUint64(0, true)"); +assert.sameValue(sample.getBigUint64(1, true), 0n, "sample.getBigUint64(1, true)"); +assert.sameValue(sample.getBigUint64(2, true), 0n, "sample.getBigUint64(2, true)"); +assert.sameValue(sample.getBigUint64(3, true), 0n, "sample.getBigUint64(3, true)"); +assert.sameValue(sample.getBigUint64(4, true), 0n, "sample.getBigUint64(4, true)"); +assert.sameValue(sample.getBigUint64(0, false), 0n, "sample.getBigUint64(0, false)"); +assert.sameValue(sample.getBigUint64(1, false), 0n, "sample.getBigUint64(1, false)"); +assert.sameValue(sample.getBigUint64(2, false), 0n, "sample.getBigUint64(2, false)"); +assert.sameValue(sample.getBigUint64(3, false), 0n, "sample.getBigUint64(3, false)"); +assert.sameValue(sample.getBigUint64(4, false), 0n, "sample.getBigUint64(4, false)"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/return-values-custom-offset.js b/test/built-ins/DataView/prototype/getBigUint64/return-values-custom-offset.js new file mode 100644 index 0000000000..948428de07 --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/return-values-custom-offset.js @@ -0,0 +1,68 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Return values from Buffer using a custom offset +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 12. Let bufferIndex be getIndex + viewOffset. + 13. Return GetValueFromBuffer(buffer, bufferIndex, type, false, + "Unordered", isLittleEndian). + + 24.1.1.6 GetValueFromBuffer ( arrayBuffer, byteIndex, type, + isTypedArray, order [ , isLittleEndian ] ) + + ... + 9. Return RawBytesToNumber(type, rawValue, isLittleEndian). + + 24.1.1.5 RawBytesToNumber( type, rawBytes, isLittleEndian ) + + ... + 2. If isLittleEndian is false, reverse the order of the elements of rawBytes. + ... +features: [DataView, ArrayBuffer, DataView.prototype.setUint8, BigInt] +---*/ + +var buffer = new ArrayBuffer(16); +var sample = new DataView(buffer, 0); + +sample.setUint8(0, 0x27); +sample.setUint8(1, 0x02); +sample.setUint8(2, 0x06); +sample.setUint8(3, 0x02); +sample.setUint8(4, 0x80); +sample.setUint8(5, 0x00); +sample.setUint8(6, 0x80); +sample.setUint8(7, 0x01); +sample.setUint8(8, 0x7f); +sample.setUint8(9, 0x00); +sample.setUint8(10, 0x01); +sample.setUint8(11, 0x02); +sample.setUint8(12, 0x80); +sample.setUint8(13, 0x7f); +sample.setUint8(14, 0xff); +sample.setUint8(15, 0x80); + +sample = new DataView(buffer, 4); + +assert.sameValue(sample.getBigUint64(0, false), 0x800080017f000102n, "0, false"); +assert.sameValue(sample.getBigUint64(1, false), 0x80017f00010280n, "1, false"); +assert.sameValue(sample.getBigUint64(2, false), 0x80017f000102807fn, "2, false"); +assert.sameValue(sample.getBigUint64(3, false), 0x17f000102807fffn, "3, false"); +assert.sameValue(sample.getBigUint64(4, false), 0x7f000102807fff80n, "4, false"); + +assert.sameValue(sample.getBigUint64(0, true), 0x201007f01800080n, "0, true"); +assert.sameValue(sample.getBigUint64(1, true), 0x800201007f018000n, "1, true"); +assert.sameValue(sample.getBigUint64(2, true), 0x7f800201007f0180n, "2, true"); +assert.sameValue(sample.getBigUint64(3, true), 0xff7f800201007f01n, "3, true"); +assert.sameValue(sample.getBigUint64(4, true), 0x80ff7f800201007fn, "4, true"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/return-values.js b/test/built-ins/DataView/prototype/getBigUint64/return-values.js new file mode 100644 index 0000000000..1ce4618918 --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/return-values.js @@ -0,0 +1,69 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Return values from Buffer +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 14. Let bufferIndex be getIndex + viewOffset. + 15. Return GetValueFromBuffer(buffer, bufferIndex, type, isLittleEndian). + ... + + 24.1.1.6 GetValueFromBuffer ( arrayBuffer, byteIndex, type [ , isLittleEndian + ] ) + + ... + 8. If isLittleEndian is false, reverse the order of the elements of rawValue. + ... +features: [DataView, ArrayBuffer, DataView.prototype.setUint8, BigInt] +---*/ + +var buffer = new ArrayBuffer(16); +var sample = new DataView(buffer, 0); + +sample.setUint8(0, 0x27); +sample.setUint8(1, 0x02); +sample.setUint8(2, 0x06); +sample.setUint8(3, 0x02); +sample.setUint8(4, 0x80); +sample.setUint8(5, 0x00); +sample.setUint8(6, 0x80); +sample.setUint8(7, 0x01); +sample.setUint8(8, 0x7f); +sample.setUint8(9, 0x00); +sample.setUint8(10, 0x01); +sample.setUint8(11, 0x02); +sample.setUint8(12, 0x80); +sample.setUint8(13, 0x7f); +sample.setUint8(14, 0xff); +sample.setUint8(15, 0x80); + +assert.sameValue(sample.getBigUint64(0, false), 0x2702060280008001n, "0, false"); +assert.sameValue(sample.getBigUint64(1, false), 0x20602800080017fn, "1, false"); +assert.sameValue(sample.getBigUint64(2, false), 0x602800080017f00n, "2, false"); +assert.sameValue(sample.getBigUint64(3, false), 0x2800080017f0001n, "3, false"); +assert.sameValue(sample.getBigUint64(4, false), 0x800080017f000102n, "4, false"); +assert.sameValue(sample.getBigUint64(5, false), 0x80017f00010280n, "5, false"); +assert.sameValue(sample.getBigUint64(6, false), 0x80017f000102807fn, "6, false"); +assert.sameValue(sample.getBigUint64(7, false), 0x17f000102807fffn, "7, false"); +assert.sameValue(sample.getBigUint64(8, false), 0x7f000102807fff80n, "8, false"); + +assert.sameValue(sample.getBigUint64(0, true), 0x180008002060227n, "0, true"); +assert.sameValue(sample.getBigUint64(1, true), 0x7f01800080020602n, "1, true"); +assert.sameValue(sample.getBigUint64(2, true), 0x7f018000800206n, "2, true"); +assert.sameValue(sample.getBigUint64(3, true), 0x1007f0180008002n, "3, true"); +assert.sameValue(sample.getBigUint64(4, true), 0x201007f01800080n, "4, true"); +assert.sameValue(sample.getBigUint64(5, true), 0x800201007F018000n, "5, true"); +assert.sameValue(sample.getBigUint64(6, true), 0x7f800201007f0180n, "6, true"); +assert.sameValue(sample.getBigUint64(7, true), 0xff7f800201007f01n, "7, true"); +assert.sameValue(sample.getBigUint64(8, true), 0x80ff7f800201007fn, "8, true"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/this-has-no-dataview-internal.js b/test/built-ins/DataView/prototype/getBigUint64/this-has-no-dataview-internal.js new file mode 100644 index 0000000000..29fd9889b0 --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/this-has-no-dataview-internal.js @@ -0,0 +1,34 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Throws a TypeError if this does not have a [[DataView]] internal slot +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + 1. If Type(view) is not Object, throw a TypeError exception. + 2. If view does not have a [[DataView]] internal slot, throw a TypeError + exception. + ... +features: [DataView, ArrayBuffer, Int8Array, BigInt, arrow-function] +---*/ + +var getBigUint64 = DataView.prototype.getBigUint64; + +assert.throws(TypeError, () => getBigUint64.call({}), "{}"); + +assert.throws(TypeError, () => getBigUint64.call([]), "[]"); + +var ab = new ArrayBuffer(1); +assert.throws(TypeError, () => getBigUint64.call(ab), "ArrayBuffer"); + +var ta = new Int8Array(); +assert.throws(TypeError, () => getBigUint64.call(ta), "TypedArray"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/this-is-not-object.js b/test/built-ins/DataView/prototype/getBigUint64/this-is-not-object.js new file mode 100644 index 0000000000..45f0b1fa38 --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/this-is-not-object.js @@ -0,0 +1,37 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: Throws a TypeError if this is not Object +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + 1. If Type(view) is not Object, throw a TypeError exception. + ... +features: [DataView, ArrayBuffer, Symbol, BigInt, arrow-function] +---*/ + +var getBigUint64 = DataView.prototype.getBigUint64; + +assert.throws(TypeError, () => getBigUint64.call(undefined), + "undefined"); + +assert.throws(TypeError, () => getBigUint64.call(null), "null"); + +assert.throws(TypeError, () => getBigUint64.call(1), "1"); + +assert.throws(TypeError, () => getBigUint64.call("string"), "string"); + +assert.throws(TypeError, () => getBigUint64.call(true), "true"); + +assert.throws(TypeError, () => getBigUint64.call(false), "false"); + +var s = Symbol("1"); +assert.throws(TypeError, () => getBigUint64.call(s), "symbol"); diff --git a/test/built-ins/DataView/prototype/getBigUint64/to-boolean-littleendian.js b/test/built-ins/DataView/prototype/getBigUint64/to-boolean-littleendian.js new file mode 100644 index 0000000000..8870580716 --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/to-boolean-littleendian.js @@ -0,0 +1,53 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + Boolean littleEndian argument coerced in ToBoolean +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 5. Set isLittleEndian to ToBoolean(isLittleEndian). + ... + 12. Let bufferIndex be getIndex + viewOffset. + 13. Return GetValueFromBuffer(buffer, bufferIndex, type, false, + "Unordered", isLittleEndian). + + 24.1.1.6 GetValueFromBuffer ( arrayBuffer, byteIndex, type, + isTypedArray, order [ , isLittleEndian ] ) + + ... + 9. Return RawBytesToNumber(type, rawValue, isLittleEndian). + + 24.1.1.5 RawBytesToNumber( type, rawBytes, isLittleEndian ) + + ... + 2. If isLittleEndian is false, reverse the order of the elements of rawBytes. + ... +includes: [typeCoercion.js] +features: [DataView, ArrayBuffer, DataView.prototype.setUint8, BigInt, Symbol, Symbol.toPrimitive] +---*/ + +var buffer = new ArrayBuffer(8); +var sample = new DataView(buffer, 0); + +sample.setUint8(7, 0xff); + +// False +assert.sameValue(sample.getBigUint64(0), 0xffn, "no argument"); +testCoercibleToBooleanFalse(function (x) { + assert.sameValue(sample.getBigUint64(0, x), 0xffn); +}); + +// True +testCoercibleToBooleanTrue(function (x) { + assert.sameValue(sample.getBigUint64(0, x), 0xff00000000000000n); +}); diff --git a/test/built-ins/DataView/prototype/getBigUint64/toindex-byteoffset.js b/test/built-ins/DataView/prototype/getBigUint64/toindex-byteoffset.js new file mode 100644 index 0000000000..0e69c7f71b --- /dev/null +++ b/test/built-ins/DataView/prototype/getBigUint64/toindex-byteoffset.js @@ -0,0 +1,54 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.getbigint64 +description: > + ToIndex conversions on byteOffset +info: | + DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) + + 1. Let v be the this value. + 2. If littleEndian is not present, let littleEndian be undefined. + 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). + + 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) + + ... + 4. Let getIndex be ? ToIndex(requestIndex). + ... +includes: [typeCoercion.js] +features: [DataView, ArrayBuffer, DataView.prototype.setUint8, BigInt, Symbol, Symbol.toPrimitive] +---*/ + +var buffer = new ArrayBuffer(12); +var sample = new DataView(buffer, 0); + +sample.setUint8(0, 0x27); +sample.setUint8(1, 0x02); +sample.setUint8(2, 0x06); +sample.setUint8(3, 0x02); +sample.setUint8(4, 0x80); +sample.setUint8(5, 0x00); +sample.setUint8(6, 0x80); +sample.setUint8(7, 0x01); +sample.setUint8(8, 0x7f); +sample.setUint8(9, 0x00); +sample.setUint8(10, 0x01); +sample.setUint8(11, 0x02); + +testCoercibleToIndexZero(function (x) { + assert.sameValue(sample.getBigUint64(x), 0x2702060280008001n); +}); + +testCoercibleToIndexOne(function (x) { + assert.sameValue(sample.getBigUint64(x), 0x20602800080017fn); +}); + +testCoercibleToIndexFromIndex(2, function (x) { + assert.sameValue(sample.getBigUint64(x), 0x602800080017F00n); +}); + +testCoercibleToIndexFromIndex(3, function (x) { + assert.sameValue(sample.getBigUint64(x), 0x2800080017F0001n); +}); From f9e93bd61c4302716576becb254702e1bf6e0e5a Mon Sep 17 00:00:00 2001 From: Robin Templeton Date: Tue, 24 Oct 2017 12:36:13 -0400 Subject: [PATCH 2/2] update frontmatter --- ...etached-buffer-after-toindex-byteoffset.js | 17 +---------- ...hed-buffer-before-outofrange-byteoffset.js | 17 +---------- .../prototype/getBigUint64/detached-buffer.js | 15 +--------- .../getBigUint64/index-is-out-of-range.js | 18 +----------- .../DataView/prototype/getBigUint64/length.js | 20 ++----------- .../DataView/prototype/getBigUint64/name.js | 19 ++---------- .../negative-byteoffset-throws.js | 14 +-------- ...-abrupt-from-tonumber-byteoffset-symbol.js | 14 +-------- .../return-abrupt-from-tonumber-byteoffset.js | 14 +-------- .../return-value-clean-arraybuffer.js | 27 +---------------- .../return-values-custom-offset.js | 27 +---------------- .../prototype/getBigUint64/return-values.js | 22 +------------- .../this-has-no-dataview-internal.js | 15 +--------- .../getBigUint64/this-is-not-object.js | 13 +-------- .../getBigUint64/to-boolean-littleendian.js | 29 +------------------ .../getBigUint64/toindex-byteoffset.js | 14 +-------- 16 files changed, 18 insertions(+), 277 deletions(-) diff --git a/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-after-toindex-byteoffset.js b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-after-toindex-byteoffset.js index dfa45b9214..a96d8c9c5c 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-after-toindex-byteoffset.js +++ b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-after-toindex-byteoffset.js @@ -2,24 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Detached buffer is only checked after ToIndex(requestIndex) -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 4. Let getIndex be ? ToIndex(requestIndex). - ... - 6. Let buffer be view.[[ViewedArrayBuffer]]. - 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception. - ... includes: [detachArrayBuffer.js] features: [DataView, ArrayBuffer, BigInt, arrow-function] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-before-outofrange-byteoffset.js b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-before-outofrange-byteoffset.js index 79f14736b2..9b0fb3d272 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-before-outofrange-byteoffset.js +++ b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer-before-outofrange-byteoffset.js @@ -2,24 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Detached buffer is checked before out of range byteOffset's value -info: | - 24.2.4.8 DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 6. Let buffer be view.[[ViewedArrayBuffer]]. - 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception. - ... - 11. If getIndex + elementSize > viewSize, throw a RangeError exception. - ... includes: [detachArrayBuffer.js] features: [DataView, ArrayBuffer, BigInt, arrow-function] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/detached-buffer.js b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer.js index 83a67e362d..b3fdb8b29d 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/detached-buffer.js +++ b/test/built-ins/DataView/prototype/getBigUint64/detached-buffer.js @@ -2,22 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Throws a TypeError if buffer is detached -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot. - 9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception. - ... includes: [detachArrayBuffer.js] features: [DataView, ArrayBuffer, BigInt, arrow-function] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/index-is-out-of-range.js b/test/built-ins/DataView/prototype/getBigUint64/index-is-out-of-range.js index e0e929e9de..88f38cb64a 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/index-is-out-of-range.js +++ b/test/built-ins/DataView/prototype/getBigUint64/index-is-out-of-range.js @@ -2,25 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Throws a RangeError if getIndex + elementSize > viewSize -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 10. Let viewOffset be the value of view's [[ByteOffset]] internal slot. - 11. Let viewSize be the value of view's [[ByteLength]] internal slot. - 12. Let elementSize be the Number value of the Element Size value specified in - Table 50 for Element Type type. - 13. If getIndex + elementSize > viewSize, throw a RangeError exception. - ... features: [DataView, ArrayBuffer, BigInt, arrow-function] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/length.js b/test/built-ins/DataView/prototype/getBigUint64/length.js index 8d97646f95..9fe7ed6c89 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/length.js +++ b/test/built-ins/DataView/prototype/getBigUint64/length.js @@ -2,24 +2,8 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 -description: DataView.prototype.getBigInt64.length property descriptor -info: > - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 17 ECMAScript Standard Built-in Objects - - Every built-in function object, including constructors, has a length - property whose value is an integer. Unless otherwise specified, this - value is equal to the largest number of named arguments shown in the - subclause headings for the function description. Optional parameters - (which are indicated with brackets: [ ]) or rest parameters (which - are shown using the form «...name») are not included in the default - argument count. - - Unless otherwise specified, the length property of a built-in - function object has the attributes { [[Writable]]: false, - [[Enumerable]]: false, [[Configurable]]: true }. +esid: sec-dataview.prototype.getbiguint64 +description: DataView.prototype.getBigUint64.length property descriptor includes: [propertyHelper.js] features: [DataView, ArrayBuffer, BigInt] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/name.js b/test/built-ins/DataView/prototype/getBigUint64/name.js index 9d6a0c97b7..26f0f045bc 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/name.js +++ b/test/built-ins/DataView/prototype/getBigUint64/name.js @@ -2,23 +2,8 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 -description: DataView.prototype.getBigInt64.name property descriptor -info: > - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 17 ECMAScript Standard Built-in Objects - - Every built-in function object, including constructors, that is not - identified as an anonymous function has a name property whose value - is a String. Unless otherwise specified, this value is the name that - is given to the function in this specification. For functions that - are specified as properties of objects, the name value is the - property name string used to access the function. [...] - - Unless otherwise specified, the name property of a built-in function - object, if it exists, has the attributes { [[Writable]]: false, - [[Enumerable]]: false, [[Configurable]]: true }. +esid: sec-dataview.prototype.getbiguint64 +description: DataView.prototype.getBigUint64.name property descriptor includes: [propertyHelper.js] features: [DataView, ArrayBuffer, BigInt] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/negative-byteoffset-throws.js b/test/built-ins/DataView/prototype/getBigUint64/negative-byteoffset-throws.js index aab6d7eb0d..3216d86c88 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/negative-byteoffset-throws.js +++ b/test/built-ins/DataView/prototype/getBigUint64/negative-byteoffset-throws.js @@ -2,21 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Throws a RangeError if getIndex < 0 -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 4. Let getIndex be ? ToIndex(requestIndex). - ... features: [DataView, ArrayBuffer, BigInt, arrow-function] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset-symbol.js b/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset-symbol.js index 993473370e..6755600a5f 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset-symbol.js +++ b/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset-symbol.js @@ -2,21 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Return abrupt from ToNumber(symbol byteOffset) -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 4. Let getIndex be ? ToNumber(requestIndex). - ... features: [DataView, ArrayBuffer, Symbol, BigInt, arrow-function] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset.js b/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset.js index 39e995324b..4f7bb95960 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset.js +++ b/test/built-ins/DataView/prototype/getBigUint64/return-abrupt-from-tonumber-byteoffset.js @@ -2,21 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Return abrupt from ToNumber(byteOffset) -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 4. Let getIndex be ? ToNumber(requestIndex). - ... features: [DataView, ArrayBuffer, BigInt, arrow-function] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/return-value-clean-arraybuffer.js b/test/built-ins/DataView/prototype/getBigUint64/return-value-clean-arraybuffer.js index a2cb7b2d67..25ee7766d2 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/return-value-clean-arraybuffer.js +++ b/test/built-ins/DataView/prototype/getBigUint64/return-value-clean-arraybuffer.js @@ -2,34 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Return value from Buffer using a clean ArrayBuffer -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 12. Let bufferIndex be getIndex + viewOffset. - 13. Return GetValueFromBuffer(buffer, bufferIndex, type, false, - "Unordered", isLittleEndian). - - 24.1.1.6 GetValueFromBuffer ( arrayBuffer, byteIndex, type, - isTypedArray, order [ , isLittleEndian ] ) - - ... - 9. Return RawBytesToNumber(type, rawValue, isLittleEndian). - - 24.1.1.5 RawBytesToNumber( type, rawBytes, isLittleEndian ) - - ... - 2. If isLittleEndian is false, reverse the order of the elements of rawBytes. - ... features: [DataView, ArrayBuffer, BigInt] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/return-values-custom-offset.js b/test/built-ins/DataView/prototype/getBigUint64/return-values-custom-offset.js index 948428de07..074c8a2799 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/return-values-custom-offset.js +++ b/test/built-ins/DataView/prototype/getBigUint64/return-values-custom-offset.js @@ -2,34 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Return values from Buffer using a custom offset -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 12. Let bufferIndex be getIndex + viewOffset. - 13. Return GetValueFromBuffer(buffer, bufferIndex, type, false, - "Unordered", isLittleEndian). - - 24.1.1.6 GetValueFromBuffer ( arrayBuffer, byteIndex, type, - isTypedArray, order [ , isLittleEndian ] ) - - ... - 9. Return RawBytesToNumber(type, rawValue, isLittleEndian). - - 24.1.1.5 RawBytesToNumber( type, rawBytes, isLittleEndian ) - - ... - 2. If isLittleEndian is false, reverse the order of the elements of rawBytes. - ... features: [DataView, ArrayBuffer, DataView.prototype.setUint8, BigInt] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/return-values.js b/test/built-ins/DataView/prototype/getBigUint64/return-values.js index 1ce4618918..7b6b4250b4 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/return-values.js +++ b/test/built-ins/DataView/prototype/getBigUint64/return-values.js @@ -2,29 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Return values from Buffer -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 14. Let bufferIndex be getIndex + viewOffset. - 15. Return GetValueFromBuffer(buffer, bufferIndex, type, isLittleEndian). - ... - - 24.1.1.6 GetValueFromBuffer ( arrayBuffer, byteIndex, type [ , isLittleEndian - ] ) - - ... - 8. If isLittleEndian is false, reverse the order of the elements of rawValue. - ... features: [DataView, ArrayBuffer, DataView.prototype.setUint8, BigInt] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/this-has-no-dataview-internal.js b/test/built-ins/DataView/prototype/getBigUint64/this-has-no-dataview-internal.js index 29fd9889b0..c3eb1c2785 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/this-has-no-dataview-internal.js +++ b/test/built-ins/DataView/prototype/getBigUint64/this-has-no-dataview-internal.js @@ -2,22 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Throws a TypeError if this does not have a [[DataView]] internal slot -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - 1. If Type(view) is not Object, throw a TypeError exception. - 2. If view does not have a [[DataView]] internal slot, throw a TypeError - exception. - ... features: [DataView, ArrayBuffer, Int8Array, BigInt, arrow-function] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/this-is-not-object.js b/test/built-ins/DataView/prototype/getBigUint64/this-is-not-object.js index 45f0b1fa38..a60b3cca3e 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/this-is-not-object.js +++ b/test/built-ins/DataView/prototype/getBigUint64/this-is-not-object.js @@ -2,19 +2,8 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: Throws a TypeError if this is not Object -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - 1. If Type(view) is not Object, throw a TypeError exception. - ... features: [DataView, ArrayBuffer, Symbol, BigInt, arrow-function] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/to-boolean-littleendian.js b/test/built-ins/DataView/prototype/getBigUint64/to-boolean-littleendian.js index 8870580716..9063484abf 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/to-boolean-littleendian.js +++ b/test/built-ins/DataView/prototype/getBigUint64/to-boolean-littleendian.js @@ -2,36 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > Boolean littleEndian argument coerced in ToBoolean -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 5. Set isLittleEndian to ToBoolean(isLittleEndian). - ... - 12. Let bufferIndex be getIndex + viewOffset. - 13. Return GetValueFromBuffer(buffer, bufferIndex, type, false, - "Unordered", isLittleEndian). - - 24.1.1.6 GetValueFromBuffer ( arrayBuffer, byteIndex, type, - isTypedArray, order [ , isLittleEndian ] ) - - ... - 9. Return RawBytesToNumber(type, rawValue, isLittleEndian). - - 24.1.1.5 RawBytesToNumber( type, rawBytes, isLittleEndian ) - - ... - 2. If isLittleEndian is false, reverse the order of the elements of rawBytes. - ... includes: [typeCoercion.js] features: [DataView, ArrayBuffer, DataView.prototype.setUint8, BigInt, Symbol, Symbol.toPrimitive] ---*/ diff --git a/test/built-ins/DataView/prototype/getBigUint64/toindex-byteoffset.js b/test/built-ins/DataView/prototype/getBigUint64/toindex-byteoffset.js index 0e69c7f71b..b79b92b5ce 100644 --- a/test/built-ins/DataView/prototype/getBigUint64/toindex-byteoffset.js +++ b/test/built-ins/DataView/prototype/getBigUint64/toindex-byteoffset.js @@ -2,21 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -esid: sec-dataview.prototype.getbigint64 +esid: sec-dataview.prototype.getbiguint64 description: > ToIndex conversions on byteOffset -info: | - DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ) - - 1. Let v be the this value. - 2. If littleEndian is not present, let littleEndian be undefined. - 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int64"). - - 24.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ) - - ... - 4. Let getIndex be ? ToIndex(requestIndex). - ... includes: [typeCoercion.js] features: [DataView, ArrayBuffer, DataView.prototype.setUint8, BigInt, Symbol, Symbol.toPrimitive] ---*/