TypedArrays with elementSize 1 cannot produce these range errors (#1465)

This commit is contained in:
Rick Waldron 2018-03-01 15:10:10 -05:00 committed by Leo Balter
parent 1e1d503c1b
commit 0192e0d70e
2 changed files with 16 additions and 4 deletions

View File

@ -12,10 +12,15 @@ info: |
least one argument and the Type of the first argument is Object and that
object has an [[ArrayBufferData]] internal slot.
Let elementSize be the Number value of the Element Size value in Table 56 for constructorName.*
...
13. If length is undefined, then
If length is either not present or undefined, then
a. If bufferByteLength modulo elementSize 0, throw a RangeError exception.
...
* Int8Array, Uint8Array, Uint8ClampedArray all have element size 1, so will never fail.
includes: [testTypedArray.js]
features: [SharedArrayBuffer, TypedArray]
---*/
@ -30,4 +35,4 @@ testWithTypedArrayConstructors(function(TA) {
assert.throws(RangeError, function() {
new TA(buffer, 0, undefined);
});
});
}, [ Float64Array, Float32Array, Int32Array, Int16Array, Uint32Array, Uint16Array ]);

View File

@ -12,9 +12,15 @@ info: |
least one argument and the Type of the first argument is Object and that
object has an [[ArrayBufferData]] internal slot.
Let elementSize be the Number value of the Element Size value in Table 56 for constructorName.*
...
10. If offset modulo elementSize 0, throw a RangeError exception.
If offset modulo elementSize 0, throw a RangeError exception.
...
* Int8Array, Uint8Array, Uint8ClampedArray all have element size 1, so will never fail.
includes: [testTypedArray.js]
features: [SharedArrayBuffer, TypedArray]
---*/
@ -25,4 +31,5 @@ testWithTypedArrayConstructors(function(TA) {
assert.throws(RangeError, function() {
new TA(buffer, 7);
});
});
}, [ Float64Array, Float32Array, Int32Array, Int16Array, Uint32Array, Uint16Array ]);