mirror of
https://github.com/tc39/test262.git
synced 2025-07-23 14:04:51 +02:00
Add harness for byte conversion values
Update testTypedArrayConversions to require byteConversionValues
This commit is contained in:
parent
28e707e367
commit
bc42c6ab5c
445
harness/byteConversionValues.js
Normal file
445
harness/byteConversionValues.js
Normal file
@ -0,0 +1,445 @@
|
|||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provide a list for original and expected values for different byte
|
||||||
|
* conversions.
|
||||||
|
* This helper is mostly used on tests for TypedArray and DataView, and each
|
||||||
|
* array from the expected values must match the original values array on every
|
||||||
|
* index containing its original value.
|
||||||
|
*/
|
||||||
|
var byteConversionValues = {
|
||||||
|
values: [
|
||||||
|
127, // 2 ** 7 - 1
|
||||||
|
128, // 2 ** 7
|
||||||
|
32767, // 2 ** 15 - 1
|
||||||
|
32768, // 2 ** 15
|
||||||
|
2147483647, // 2 ** 31 - 1
|
||||||
|
2147483648, // 2 ** 31
|
||||||
|
255, // 2 ** 8 - 1
|
||||||
|
256, // 2 ** 8
|
||||||
|
65535, // 2 ** 16 - 1
|
||||||
|
65536, // 2 ** 16
|
||||||
|
4294967295, // 2 ** 32 - 1
|
||||||
|
4294967296, // 2 ** 32
|
||||||
|
9007199254740991, // 2 ** 53 - 1
|
||||||
|
9007199254740992, // 2 ** 53
|
||||||
|
1.1,
|
||||||
|
0.1,
|
||||||
|
0.5,
|
||||||
|
0.50000001,
|
||||||
|
0.6,
|
||||||
|
0.7,
|
||||||
|
undefined,
|
||||||
|
-1,
|
||||||
|
-0,
|
||||||
|
-0.1,
|
||||||
|
-1.1,
|
||||||
|
NaN,
|
||||||
|
-127, // - ( 2 ** 7 - 1 )
|
||||||
|
-128, // - ( 2 ** 7 )
|
||||||
|
-32767, // - ( 2 ** 15 - 1 )
|
||||||
|
-32768, // - ( 2 ** 15 )
|
||||||
|
-2147483647, // - ( 2 ** 31 - 1 )
|
||||||
|
-2147483648, // - ( 2 ** 31 )
|
||||||
|
-255, // - ( 2 ** 8 - 1 )
|
||||||
|
-256, // - ( 2 ** 8 )
|
||||||
|
-65535, // - ( 2 ** 16 - 1 )
|
||||||
|
-65536, // - ( 2 ** 16 )
|
||||||
|
-4294967295, // - ( 2 ** 32 - 1 )
|
||||||
|
-4294967296, // - ( 2 ** 32 )
|
||||||
|
Infinity,
|
||||||
|
-Infinity,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
|
||||||
|
expected: {
|
||||||
|
Int8: [
|
||||||
|
127, // 127
|
||||||
|
-128, // 128
|
||||||
|
-1, // 32767
|
||||||
|
0, // 32768
|
||||||
|
-1, // 2147483647
|
||||||
|
0, // 2147483648
|
||||||
|
-1, // 255
|
||||||
|
0, // 256
|
||||||
|
-1, // 65535
|
||||||
|
0, // 65536
|
||||||
|
-1, // 4294967295
|
||||||
|
0, // 4294967296
|
||||||
|
-1, // 9007199254740991
|
||||||
|
0, // 9007199254740992
|
||||||
|
1, // 1.1
|
||||||
|
0, // 0.1
|
||||||
|
0, // 0.5
|
||||||
|
0, // 0.50000001,
|
||||||
|
0, // 0.6
|
||||||
|
0, // 0.7
|
||||||
|
0, // undefined
|
||||||
|
-1, // -1
|
||||||
|
0, // -0
|
||||||
|
0, // -0.1
|
||||||
|
-1, // -1.1
|
||||||
|
0, // NaN
|
||||||
|
-127, // -127
|
||||||
|
-128, // -128
|
||||||
|
1, // -32767
|
||||||
|
0, // -32768
|
||||||
|
1, // -2147483647
|
||||||
|
0, // -2147483648
|
||||||
|
1, // -255
|
||||||
|
0, // -256
|
||||||
|
1, // -65535
|
||||||
|
0, // -65536
|
||||||
|
1, // -4294967295
|
||||||
|
0, // -4294967296
|
||||||
|
0, // Infinity
|
||||||
|
0, // -Infinity
|
||||||
|
0
|
||||||
|
],
|
||||||
|
Uint8: [
|
||||||
|
127, // 127
|
||||||
|
128, // 128
|
||||||
|
255, // 32767
|
||||||
|
0, // 32768
|
||||||
|
255, // 2147483647
|
||||||
|
0, // 2147483648
|
||||||
|
255, // 255
|
||||||
|
0, // 256
|
||||||
|
255, // 65535
|
||||||
|
0, // 65536
|
||||||
|
255, // 4294967295
|
||||||
|
0, // 4294967296
|
||||||
|
255, // 9007199254740991
|
||||||
|
0, // 9007199254740992
|
||||||
|
1, // 1.1
|
||||||
|
0, // 0.1
|
||||||
|
0, // 0.5
|
||||||
|
0, // 0.50000001,
|
||||||
|
0, // 0.6
|
||||||
|
0, // 0.7
|
||||||
|
0, // undefined
|
||||||
|
255, // -1
|
||||||
|
0, // -0
|
||||||
|
0, // -0.1
|
||||||
|
255, // -1.1
|
||||||
|
0, // NaN
|
||||||
|
129, // -127
|
||||||
|
128, // -128
|
||||||
|
1, // -32767
|
||||||
|
0, // -32768
|
||||||
|
1, // -2147483647
|
||||||
|
0, // -2147483648
|
||||||
|
1, // -255
|
||||||
|
0, // -256
|
||||||
|
1, // -65535
|
||||||
|
0, // -65536
|
||||||
|
1, // -4294967295
|
||||||
|
0, // -4294967296
|
||||||
|
0, // Infinity
|
||||||
|
0, // -Infinity
|
||||||
|
0
|
||||||
|
],
|
||||||
|
Uint8Clamped: [
|
||||||
|
127, // 127
|
||||||
|
128, // 128
|
||||||
|
255, // 32767
|
||||||
|
255, // 32768
|
||||||
|
255, // 2147483647
|
||||||
|
255, // 2147483648
|
||||||
|
255, // 255
|
||||||
|
255, // 256
|
||||||
|
255, // 65535
|
||||||
|
255, // 65536
|
||||||
|
255, // 4294967295
|
||||||
|
255, // 4294967296
|
||||||
|
255, // 9007199254740991
|
||||||
|
255, // 9007199254740992
|
||||||
|
1, // 1.1,
|
||||||
|
0, // 0.1
|
||||||
|
0, // 0.5
|
||||||
|
1, // 0.50000001,
|
||||||
|
1, // 0.6
|
||||||
|
1, // 0.7
|
||||||
|
0, // undefined
|
||||||
|
0, // -1
|
||||||
|
0, // -0
|
||||||
|
0, // -0.1
|
||||||
|
0, // -1.1
|
||||||
|
0, // NaN
|
||||||
|
0, // -127
|
||||||
|
0, // -128
|
||||||
|
0, // -32767
|
||||||
|
0, // -32768
|
||||||
|
0, // -2147483647
|
||||||
|
0, // -2147483648
|
||||||
|
0, // -255
|
||||||
|
0, // -256
|
||||||
|
0, // -65535
|
||||||
|
0, // -65536
|
||||||
|
0, // -4294967295
|
||||||
|
0, // -4294967296
|
||||||
|
255, // Infinity
|
||||||
|
0, // -Infinity
|
||||||
|
0
|
||||||
|
],
|
||||||
|
Int16: [
|
||||||
|
127, // 127
|
||||||
|
128, // 128
|
||||||
|
32767, // 32767
|
||||||
|
-32768, // 32768
|
||||||
|
-1, // 2147483647
|
||||||
|
0, // 2147483648
|
||||||
|
255, // 255
|
||||||
|
256, // 256
|
||||||
|
-1, // 65535
|
||||||
|
0, // 65536
|
||||||
|
-1, // 4294967295
|
||||||
|
0, // 4294967296
|
||||||
|
-1, // 9007199254740991
|
||||||
|
0, // 9007199254740992
|
||||||
|
1, // 1.1
|
||||||
|
0, // 0.1
|
||||||
|
0, // 0.5
|
||||||
|
0, // 0.50000001,
|
||||||
|
0, // 0.6
|
||||||
|
0, // 0.7
|
||||||
|
0, // undefined
|
||||||
|
-1, // -1
|
||||||
|
0, // -0
|
||||||
|
0, // -0.1
|
||||||
|
-1, // -1.1
|
||||||
|
0, // NaN
|
||||||
|
-127, // -127
|
||||||
|
-128, // -128
|
||||||
|
-32767, // -32767
|
||||||
|
-32768, // -32768
|
||||||
|
1, // -2147483647
|
||||||
|
0, // -2147483648
|
||||||
|
-255, // -255
|
||||||
|
-256, // -256
|
||||||
|
1, // -65535
|
||||||
|
0, // -65536
|
||||||
|
1, // -4294967295
|
||||||
|
0, // -4294967296
|
||||||
|
0, // Infinity
|
||||||
|
0, // -Infinity
|
||||||
|
0
|
||||||
|
],
|
||||||
|
Uint16: [
|
||||||
|
127, // 127
|
||||||
|
128, // 128
|
||||||
|
32767, // 32767
|
||||||
|
32768, // 32768
|
||||||
|
65535, // 2147483647
|
||||||
|
0, // 2147483648
|
||||||
|
255, // 255
|
||||||
|
256, // 256
|
||||||
|
65535, // 65535
|
||||||
|
0, // 65536
|
||||||
|
65535, // 4294967295
|
||||||
|
0, // 4294967296
|
||||||
|
65535, // 9007199254740991
|
||||||
|
0, // 9007199254740992
|
||||||
|
1, // 1.1
|
||||||
|
0, // 0.1
|
||||||
|
0, // 0.5
|
||||||
|
0, // 0.50000001,
|
||||||
|
0, // 0.6
|
||||||
|
0, // 0.7
|
||||||
|
0, // undefined
|
||||||
|
65535, // -1
|
||||||
|
0, // -0
|
||||||
|
0, // -0.1
|
||||||
|
65535, // -1.1
|
||||||
|
0, // NaN
|
||||||
|
65409, // -127
|
||||||
|
65408, // -128
|
||||||
|
32769, // -32767
|
||||||
|
32768, // -32768
|
||||||
|
1, // -2147483647
|
||||||
|
0, // -2147483648
|
||||||
|
65281, // -255
|
||||||
|
65280, // -256
|
||||||
|
1, // -65535
|
||||||
|
0, // -65536
|
||||||
|
1, // -4294967295
|
||||||
|
0, // -4294967296
|
||||||
|
0, // Infinity
|
||||||
|
0, // -Infinity
|
||||||
|
0
|
||||||
|
],
|
||||||
|
Int32: [
|
||||||
|
127, // 127
|
||||||
|
128, // 128
|
||||||
|
32767, // 32767
|
||||||
|
32768, // 32768
|
||||||
|
2147483647, // 2147483647
|
||||||
|
-2147483648, // 2147483648
|
||||||
|
255, // 255
|
||||||
|
256, // 256
|
||||||
|
65535, // 65535
|
||||||
|
65536, // 65536
|
||||||
|
-1, // 4294967295
|
||||||
|
0, // 4294967296
|
||||||
|
-1, // 9007199254740991
|
||||||
|
0, // 9007199254740992
|
||||||
|
1, // 1.1
|
||||||
|
0, // 0.1
|
||||||
|
0, // 0.5
|
||||||
|
0, // 0.50000001,
|
||||||
|
0, // 0.6
|
||||||
|
0, // 0.7
|
||||||
|
0, // undefined
|
||||||
|
-1, // -1
|
||||||
|
0, // -0
|
||||||
|
0, // -0.1
|
||||||
|
-1, // -1.1
|
||||||
|
0, // NaN
|
||||||
|
-127, // -127
|
||||||
|
-128, // -128
|
||||||
|
-32767, // -32767
|
||||||
|
-32768, // -32768
|
||||||
|
-2147483647, // -2147483647
|
||||||
|
-2147483648, // -2147483648
|
||||||
|
-255, // -255
|
||||||
|
-256, // -256
|
||||||
|
-65535, // -65535
|
||||||
|
-65536, // -65536
|
||||||
|
1, // -4294967295
|
||||||
|
0, // -4294967296
|
||||||
|
0, // Infinity
|
||||||
|
0, // -Infinity
|
||||||
|
0
|
||||||
|
],
|
||||||
|
Uint32: [
|
||||||
|
127, // 127
|
||||||
|
128, // 128
|
||||||
|
32767, // 32767
|
||||||
|
32768, // 32768
|
||||||
|
2147483647, // 2147483647
|
||||||
|
2147483648, // 2147483648
|
||||||
|
255, // 255
|
||||||
|
256, // 256
|
||||||
|
65535, // 65535
|
||||||
|
65536, // 65536
|
||||||
|
4294967295, // 4294967295
|
||||||
|
0, // 4294967296
|
||||||
|
4294967295, // 9007199254740991
|
||||||
|
0, // 9007199254740992
|
||||||
|
1, // 1.1
|
||||||
|
0, // 0.1
|
||||||
|
0, // 0.5
|
||||||
|
0, // 0.50000001,
|
||||||
|
0, // 0.6
|
||||||
|
0, // 0.7
|
||||||
|
0, // undefined
|
||||||
|
4294967295, // -1
|
||||||
|
0, // -0
|
||||||
|
0, // -0.1
|
||||||
|
4294967295, // -1.1
|
||||||
|
0, // NaN
|
||||||
|
4294967169, // -127
|
||||||
|
4294967168, // -128
|
||||||
|
4294934529, // -32767
|
||||||
|
4294934528, // -32768
|
||||||
|
2147483649, // -2147483647
|
||||||
|
2147483648, // -2147483648
|
||||||
|
4294967041, // -255
|
||||||
|
4294967040, // -256
|
||||||
|
4294901761, // -65535
|
||||||
|
4294901760, // -65536
|
||||||
|
1, // -4294967295
|
||||||
|
0, // -4294967296
|
||||||
|
0, // Infinity
|
||||||
|
0, // -Infinity
|
||||||
|
0
|
||||||
|
],
|
||||||
|
Float32: [
|
||||||
|
127, // 127
|
||||||
|
128, // 128
|
||||||
|
32767, // 32767
|
||||||
|
32768, // 32768
|
||||||
|
2147483648, // 2147483647
|
||||||
|
2147483648, // 2147483648
|
||||||
|
255, // 255
|
||||||
|
256, // 256
|
||||||
|
65535, // 65535
|
||||||
|
65536, // 65536
|
||||||
|
4294967296, // 4294967295
|
||||||
|
4294967296, // 4294967296
|
||||||
|
9007199254740992, // 9007199254740991
|
||||||
|
9007199254740992, // 9007199254740992
|
||||||
|
1.100000023841858, // 1.1
|
||||||
|
0.10000000149011612, // 0.1
|
||||||
|
0.5, // 0.5
|
||||||
|
0.5, // 0.50000001,
|
||||||
|
0.6000000238418579, // 0.6
|
||||||
|
0.699999988079071, // 0.7
|
||||||
|
NaN, // undefined
|
||||||
|
-1, // -1
|
||||||
|
-0, // -0
|
||||||
|
-0.10000000149011612, // -0.1
|
||||||
|
-1.100000023841858, // -1.1
|
||||||
|
NaN, // NaN
|
||||||
|
-127, // -127
|
||||||
|
-128, // -128
|
||||||
|
-32767, // -32767
|
||||||
|
-32768, // -32768
|
||||||
|
-2147483648, // -2147483647
|
||||||
|
-2147483648, // -2147483648
|
||||||
|
-255, // -255
|
||||||
|
-256, // -256
|
||||||
|
-65535, // -65535
|
||||||
|
-65536, // -65536
|
||||||
|
-4294967296, // -4294967295
|
||||||
|
-4294967296, // -4294967296
|
||||||
|
Infinity, // Infinity
|
||||||
|
-Infinity, // -Infinity
|
||||||
|
0
|
||||||
|
],
|
||||||
|
Float64: [
|
||||||
|
127, // 127
|
||||||
|
128, // 128
|
||||||
|
32767, // 32767
|
||||||
|
32768, // 32768
|
||||||
|
2147483647, // 2147483647
|
||||||
|
2147483648, // 2147483648
|
||||||
|
255, // 255
|
||||||
|
256, // 256
|
||||||
|
65535, // 65535
|
||||||
|
65536, // 65536
|
||||||
|
4294967295, // 4294967295
|
||||||
|
4294967296, // 4294967296
|
||||||
|
9007199254740991, // 9007199254740991
|
||||||
|
9007199254740992, // 9007199254740992
|
||||||
|
1.1, // 1.1
|
||||||
|
0.1, // 0.1
|
||||||
|
0.5, // 0.5
|
||||||
|
0.50000001, // 0.50000001,
|
||||||
|
0.6, // 0.6
|
||||||
|
0.7, // 0.7
|
||||||
|
NaN, // undefined
|
||||||
|
-1, // -1
|
||||||
|
-0, // -0
|
||||||
|
-0.1, // -0.1
|
||||||
|
-1.1, // -1.1
|
||||||
|
NaN, // NaN
|
||||||
|
-127, // -127
|
||||||
|
-128, // -128
|
||||||
|
-32767, // -32767
|
||||||
|
-32768, // -32768
|
||||||
|
-2147483647, // -2147483647
|
||||||
|
-2147483648, // -2147483648
|
||||||
|
-255, // -255
|
||||||
|
-256, // -256
|
||||||
|
-65535, // -65535
|
||||||
|
-65536, // -65536
|
||||||
|
-4294967295, // -4294967295
|
||||||
|
-4294967296, // -4294967296
|
||||||
|
Infinity, // Infinity
|
||||||
|
-Infinity, // -Infinity
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
@ -56,434 +56,15 @@ function testWithTypedArrayConstructors(f, selected) {
|
|||||||
* value, and a initial value that can be used to avoid
|
* value, and a initial value that can be used to avoid
|
||||||
* a false positive with an equivalent expected value.
|
* a false positive with an equivalent expected value.
|
||||||
*/
|
*/
|
||||||
function testTypedArrayConversions(fn) {
|
function testTypedArrayConversions(byteConversionValues, fn) {
|
||||||
var values = [
|
var values = byteConversionValues.values;
|
||||||
127, // 2 ** 7 - 1
|
var expected = byteConversionValues.expected;
|
||||||
128, // 2 ** 7
|
|
||||||
32767, // 2 ** 15 - 1
|
|
||||||
32768, // 2 ** 15
|
|
||||||
2147483647, // 2 ** 31 - 1
|
|
||||||
2147483648, // 2 ** 31
|
|
||||||
255, // 2 ** 8 - 1
|
|
||||||
256, // 2 ** 8
|
|
||||||
65535, // 2 ** 16 - 1
|
|
||||||
65536, // 2 ** 16
|
|
||||||
4294967295, // 2 ** 32 - 1
|
|
||||||
4294967296, // 2 ** 32
|
|
||||||
9007199254740991, // 2 ** 53 - 1
|
|
||||||
9007199254740992, // 2 ** 53
|
|
||||||
1.1,
|
|
||||||
0.1,
|
|
||||||
0.5,
|
|
||||||
0.50000001,
|
|
||||||
0.6,
|
|
||||||
0.7,
|
|
||||||
undefined,
|
|
||||||
-1,
|
|
||||||
-0,
|
|
||||||
-0.1,
|
|
||||||
-1.1,
|
|
||||||
NaN,
|
|
||||||
-127, // - ( 2 ** 7 - 1 )
|
|
||||||
-128, // - ( 2 ** 7 )
|
|
||||||
-32767, // - ( 2 ** 15 - 1 )
|
|
||||||
-32768, // - ( 2 ** 15 )
|
|
||||||
-2147483647, // - ( 2 ** 31 - 1 )
|
|
||||||
-2147483648, // - ( 2 ** 31 )
|
|
||||||
-255, // - ( 2 ** 8 - 1 )
|
|
||||||
-256, // - ( 2 ** 8 )
|
|
||||||
-65535, // - ( 2 ** 16 - 1 )
|
|
||||||
-65536, // - ( 2 ** 16 )
|
|
||||||
-4294967295, // - ( 2 ** 32 - 1 )
|
|
||||||
-4294967296, // - ( 2 ** 32 )
|
|
||||||
Infinity,
|
|
||||||
-Infinity,
|
|
||||||
];
|
|
||||||
|
|
||||||
var expected = {
|
|
||||||
Int8Array: [
|
|
||||||
127, // 127
|
|
||||||
-128, // 128
|
|
||||||
-1, // 32767
|
|
||||||
0, // 32768
|
|
||||||
-1, // 2147483647
|
|
||||||
0, // 2147483648
|
|
||||||
-1, // 255
|
|
||||||
0, // 256
|
|
||||||
-1, // 65535
|
|
||||||
0, // 65536
|
|
||||||
-1, // 4294967295
|
|
||||||
0, // 4294967296
|
|
||||||
-1, // 9007199254740991
|
|
||||||
0, // 9007199254740992
|
|
||||||
1, // 1.1
|
|
||||||
0, // 0.1
|
|
||||||
0, // 0.5
|
|
||||||
0, // 0.50000001,
|
|
||||||
0, // 0.6
|
|
||||||
0, // 0.7
|
|
||||||
0, // undefined
|
|
||||||
-1, // -1
|
|
||||||
0, // -0
|
|
||||||
0, // -0.1
|
|
||||||
-1, // -1.1
|
|
||||||
0, // NaN
|
|
||||||
-127, // -127
|
|
||||||
-128, // -128
|
|
||||||
1, // -32767
|
|
||||||
0, // -32768
|
|
||||||
1, // -2147483647
|
|
||||||
0, // -2147483648
|
|
||||||
1, // -255
|
|
||||||
0, // -256
|
|
||||||
1, // -65535
|
|
||||||
0, // -65536
|
|
||||||
1, // -4294967295
|
|
||||||
0, // -4294967296
|
|
||||||
0, // Infinity
|
|
||||||
0, // -Infinity
|
|
||||||
],
|
|
||||||
Uint8Array: [
|
|
||||||
127, // 127
|
|
||||||
128, // 128
|
|
||||||
255, // 32767
|
|
||||||
0, // 32768
|
|
||||||
255, // 2147483647
|
|
||||||
0, // 2147483648
|
|
||||||
255, // 255
|
|
||||||
0, // 256
|
|
||||||
255, // 65535
|
|
||||||
0, // 65536
|
|
||||||
255, // 4294967295
|
|
||||||
0, // 4294967296
|
|
||||||
255, // 9007199254740991
|
|
||||||
0, // 9007199254740992
|
|
||||||
1, // 1.1
|
|
||||||
0, // 0.1
|
|
||||||
0, // 0.5
|
|
||||||
0, // 0.50000001,
|
|
||||||
0, // 0.6
|
|
||||||
0, // 0.7
|
|
||||||
0, // undefined
|
|
||||||
255, // -1
|
|
||||||
0, // -0
|
|
||||||
0, // -0.1
|
|
||||||
255, // -1.1
|
|
||||||
0, // NaN
|
|
||||||
129, // -127
|
|
||||||
128, // -128
|
|
||||||
1, // -32767
|
|
||||||
0, // -32768
|
|
||||||
1, // -2147483647
|
|
||||||
0, // -2147483648
|
|
||||||
1, // -255
|
|
||||||
0, // -256
|
|
||||||
1, // -65535
|
|
||||||
0, // -65536
|
|
||||||
1, // -4294967295
|
|
||||||
0, // -4294967296
|
|
||||||
0, // Infinity
|
|
||||||
0, // -Infinity
|
|
||||||
],
|
|
||||||
Uint8ClampedArray: [
|
|
||||||
127, // 127
|
|
||||||
128, // 128
|
|
||||||
255, // 32767
|
|
||||||
255, // 32768
|
|
||||||
255, // 2147483647
|
|
||||||
255, // 2147483648
|
|
||||||
255, // 255
|
|
||||||
255, // 256
|
|
||||||
255, // 65535
|
|
||||||
255, // 65536
|
|
||||||
255, // 4294967295
|
|
||||||
255, // 4294967296
|
|
||||||
255, // 9007199254740991
|
|
||||||
255, // 9007199254740992
|
|
||||||
1, // 1.1,
|
|
||||||
0, // 0.1
|
|
||||||
0, // 0.5
|
|
||||||
1, // 0.50000001,
|
|
||||||
1, // 0.6
|
|
||||||
1, // 0.7
|
|
||||||
0, // undefined
|
|
||||||
0, // -1
|
|
||||||
0, // -0
|
|
||||||
0, // -0.1
|
|
||||||
0, // -1.1
|
|
||||||
0, // NaN
|
|
||||||
0, // -127
|
|
||||||
0, // -128
|
|
||||||
0, // -32767
|
|
||||||
0, // -32768
|
|
||||||
0, // -2147483647
|
|
||||||
0, // -2147483648
|
|
||||||
0, // -255
|
|
||||||
0, // -256
|
|
||||||
0, // -65535
|
|
||||||
0, // -65536
|
|
||||||
0, // -4294967295
|
|
||||||
0, // -4294967296
|
|
||||||
255, // Infinity
|
|
||||||
0, // -Infinity
|
|
||||||
],
|
|
||||||
Int16Array: [
|
|
||||||
127, // 127
|
|
||||||
128, // 128
|
|
||||||
32767, // 32767
|
|
||||||
-32768, // 32768
|
|
||||||
-1, // 2147483647
|
|
||||||
0, // 2147483648
|
|
||||||
255, // 255
|
|
||||||
256, // 256
|
|
||||||
-1, // 65535
|
|
||||||
0, // 65536
|
|
||||||
-1, // 4294967295
|
|
||||||
0, // 4294967296
|
|
||||||
-1, // 9007199254740991
|
|
||||||
0, // 9007199254740992
|
|
||||||
1, // 1.1
|
|
||||||
0, // 0.1
|
|
||||||
0, // 0.5
|
|
||||||
0, // 0.50000001,
|
|
||||||
0, // 0.6
|
|
||||||
0, // 0.7
|
|
||||||
0, // undefined
|
|
||||||
-1, // -1
|
|
||||||
0, // -0
|
|
||||||
0, // -0.1
|
|
||||||
-1, // -1.1
|
|
||||||
0, // NaN
|
|
||||||
-127, // -127
|
|
||||||
-128, // -128
|
|
||||||
-32767, // -32767
|
|
||||||
-32768, // -32768
|
|
||||||
1, // -2147483647
|
|
||||||
0, // -2147483648
|
|
||||||
-255, // -255
|
|
||||||
-256, // -256
|
|
||||||
1, // -65535
|
|
||||||
0, // -65536
|
|
||||||
1, // -4294967295
|
|
||||||
0, // -4294967296
|
|
||||||
0, // Infinity
|
|
||||||
0, // -Infinity
|
|
||||||
],
|
|
||||||
Uint16Array: [
|
|
||||||
127, // 127
|
|
||||||
128, // 128
|
|
||||||
32767, // 32767
|
|
||||||
32768, // 32768
|
|
||||||
65535, // 2147483647
|
|
||||||
0, // 2147483648
|
|
||||||
255, // 255
|
|
||||||
256, // 256
|
|
||||||
65535, // 65535
|
|
||||||
0, // 65536
|
|
||||||
65535, // 4294967295
|
|
||||||
0, // 4294967296
|
|
||||||
65535, // 9007199254740991
|
|
||||||
0, // 9007199254740992
|
|
||||||
1, // 1.1
|
|
||||||
0, // 0.1
|
|
||||||
0, // 0.5
|
|
||||||
0, // 0.50000001,
|
|
||||||
0, // 0.6
|
|
||||||
0, // 0.7
|
|
||||||
0, // undefined
|
|
||||||
65535, // -1
|
|
||||||
0, // -0
|
|
||||||
0, // -0.1
|
|
||||||
65535, // -1.1
|
|
||||||
0, // NaN
|
|
||||||
65409, // -127
|
|
||||||
65408, // -128
|
|
||||||
32769, // -32767
|
|
||||||
32768, // -32768
|
|
||||||
1, // -2147483647
|
|
||||||
0, // -2147483648
|
|
||||||
65281, // -255
|
|
||||||
65280, // -256
|
|
||||||
1, // -65535
|
|
||||||
0, // -65536
|
|
||||||
1, // -4294967295
|
|
||||||
0, // -4294967296
|
|
||||||
0, // Infinity
|
|
||||||
0, // -Infinity
|
|
||||||
],
|
|
||||||
Int32Array: [
|
|
||||||
127, // 127
|
|
||||||
128, // 128
|
|
||||||
32767, // 32767
|
|
||||||
32768, // 32768
|
|
||||||
2147483647, // 2147483647
|
|
||||||
-2147483648, // 2147483648
|
|
||||||
255, // 255
|
|
||||||
256, // 256
|
|
||||||
65535, // 65535
|
|
||||||
65536, // 65536
|
|
||||||
-1, // 4294967295
|
|
||||||
0, // 4294967296
|
|
||||||
-1, // 9007199254740991
|
|
||||||
0, // 9007199254740992
|
|
||||||
1, // 1.1
|
|
||||||
0, // 0.1
|
|
||||||
0, // 0.5
|
|
||||||
0, // 0.50000001,
|
|
||||||
0, // 0.6
|
|
||||||
0, // 0.7
|
|
||||||
0, // undefined
|
|
||||||
-1, // -1
|
|
||||||
0, // -0
|
|
||||||
0, // -0.1
|
|
||||||
-1, // -1.1
|
|
||||||
0, // NaN
|
|
||||||
-127, // -127
|
|
||||||
-128, // -128
|
|
||||||
-32767, // -32767
|
|
||||||
-32768, // -32768
|
|
||||||
-2147483647, // -2147483647
|
|
||||||
-2147483648, // -2147483648
|
|
||||||
-255, // -255
|
|
||||||
-256, // -256
|
|
||||||
-65535, // -65535
|
|
||||||
-65536, // -65536
|
|
||||||
1, // -4294967295
|
|
||||||
0, // -4294967296
|
|
||||||
0, // Infinity
|
|
||||||
0, // -Infinity
|
|
||||||
],
|
|
||||||
Uint32Array: [
|
|
||||||
127, // 127
|
|
||||||
128, // 128
|
|
||||||
32767, // 32767
|
|
||||||
32768, // 32768
|
|
||||||
2147483647, // 2147483647
|
|
||||||
2147483648, // 2147483648
|
|
||||||
255, // 255
|
|
||||||
256, // 256
|
|
||||||
65535, // 65535
|
|
||||||
65536, // 65536
|
|
||||||
4294967295, // 4294967295
|
|
||||||
0, // 4294967296
|
|
||||||
4294967295, // 9007199254740991
|
|
||||||
0, // 9007199254740992
|
|
||||||
1, // 1.1
|
|
||||||
0, // 0.1
|
|
||||||
0, // 0.5
|
|
||||||
0, // 0.50000001,
|
|
||||||
0, // 0.6
|
|
||||||
0, // 0.7
|
|
||||||
0, // undefined
|
|
||||||
4294967295, // -1
|
|
||||||
0, // -0
|
|
||||||
0, // -0.1
|
|
||||||
4294967295, // -1.1
|
|
||||||
0, // NaN
|
|
||||||
4294967169, // -127
|
|
||||||
4294967168, // -128
|
|
||||||
4294934529, // -32767
|
|
||||||
4294934528, // -32768
|
|
||||||
2147483649, // -2147483647
|
|
||||||
2147483648, // -2147483648
|
|
||||||
4294967041, // -255
|
|
||||||
4294967040, // -256
|
|
||||||
4294901761, // -65535
|
|
||||||
4294901760, // -65536
|
|
||||||
1, // -4294967295
|
|
||||||
0, // -4294967296
|
|
||||||
0, // Infinity
|
|
||||||
0, // -Infinity
|
|
||||||
],
|
|
||||||
Float32Array: [
|
|
||||||
127, // 127
|
|
||||||
128, // 128
|
|
||||||
32767, // 32767
|
|
||||||
32768, // 32768
|
|
||||||
2147483648, // 2147483647
|
|
||||||
2147483648, // 2147483648
|
|
||||||
255, // 255
|
|
||||||
256, // 256
|
|
||||||
65535, // 65535
|
|
||||||
65536, // 65536
|
|
||||||
4294967296, // 4294967295
|
|
||||||
4294967296, // 4294967296
|
|
||||||
9007199254740992, // 9007199254740991
|
|
||||||
9007199254740992, // 9007199254740992
|
|
||||||
1.100000023841858, // 1.1
|
|
||||||
0.10000000149011612, // 0.1
|
|
||||||
0.5, // 0.5
|
|
||||||
0.5, // 0.50000001,
|
|
||||||
0.6000000238418579, // 0.6
|
|
||||||
0.699999988079071, // 0.7
|
|
||||||
NaN, // undefined
|
|
||||||
-1, // -1
|
|
||||||
-0, // -0
|
|
||||||
-0.10000000149011612, // -0.1
|
|
||||||
-1.100000023841858, // -1.1
|
|
||||||
NaN, // NaN
|
|
||||||
-127, // -127
|
|
||||||
-128, // -128
|
|
||||||
-32767, // -32767
|
|
||||||
-32768, // -32768
|
|
||||||
-2147483648, // -2147483647
|
|
||||||
-2147483648, // -2147483648
|
|
||||||
-255, // -255
|
|
||||||
-256, // -256
|
|
||||||
-65535, // -65535
|
|
||||||
-65536, // -65536
|
|
||||||
-4294967296, // -4294967295
|
|
||||||
-4294967296, // -4294967296
|
|
||||||
Infinity, // Infinity
|
|
||||||
-Infinity, // -Infinity
|
|
||||||
],
|
|
||||||
Float64Array: [
|
|
||||||
127, // 127
|
|
||||||
128, // 128
|
|
||||||
32767, // 32767
|
|
||||||
32768, // 32768
|
|
||||||
2147483647, // 2147483647
|
|
||||||
2147483648, // 2147483648
|
|
||||||
255, // 255
|
|
||||||
256, // 256
|
|
||||||
65535, // 65535
|
|
||||||
65536, // 65536
|
|
||||||
4294967295, // 4294967295
|
|
||||||
4294967296, // 4294967296
|
|
||||||
9007199254740991, // 9007199254740991
|
|
||||||
9007199254740992, // 9007199254740992
|
|
||||||
1.1, // 1.1
|
|
||||||
0.1, // 0.1
|
|
||||||
0.5, // 0.5
|
|
||||||
0.50000001, // 0.50000001,
|
|
||||||
0.6, // 0.6
|
|
||||||
0.7, // 0.7
|
|
||||||
NaN, // undefined
|
|
||||||
-1, // -1
|
|
||||||
-0, // -0
|
|
||||||
-0.1, // -0.1
|
|
||||||
-1.1, // -1.1
|
|
||||||
NaN, // NaN
|
|
||||||
-127, // -127
|
|
||||||
-128, // -128
|
|
||||||
-32767, // -32767
|
|
||||||
-32768, // -32768
|
|
||||||
-2147483647, // -2147483647
|
|
||||||
-2147483648, // -2147483648
|
|
||||||
-255, // -255
|
|
||||||
-256, // -256
|
|
||||||
-65535, // -65535
|
|
||||||
-65536, // -65536
|
|
||||||
-4294967295, // -4294967295
|
|
||||||
-4294967296, // -4294967296
|
|
||||||
Infinity, // Infinity
|
|
||||||
-Infinity, // -Infinity
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
testWithTypedArrayConstructors(function(TA) {
|
testWithTypedArrayConstructors(function(TA) {
|
||||||
|
var name = TA.name.slice(0, -5);
|
||||||
|
|
||||||
return values.forEach(function(value, index) {
|
return values.forEach(function(value, index) {
|
||||||
var exp = expected[TA.name][index];
|
var exp = expected[name][index];
|
||||||
var initial = 0;
|
var initial = 0;
|
||||||
if (exp === 0) {
|
if (exp === 0) {
|
||||||
initial = 1;
|
initial = 1;
|
||||||
|
@ -44,10 +44,10 @@ info: >
|
|||||||
...
|
...
|
||||||
e. Else,
|
e. Else,
|
||||||
...
|
...
|
||||||
includes: [testTypedArray.js]
|
includes: [byteConversionValues.js, testTypedArray.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
testTypedArrayConversions(function(TA, value, expected, initial) {
|
testTypedArrayConversions(byteConversionValues, function(TA, value, expected, initial) {
|
||||||
var sample = new TA([initial]);
|
var sample = new TA([initial]);
|
||||||
|
|
||||||
sample.fill(value);
|
sample.fill(value);
|
||||||
|
@ -37,10 +37,10 @@ info: >
|
|||||||
...
|
...
|
||||||
e. Else,
|
e. Else,
|
||||||
...
|
...
|
||||||
includes: [testTypedArray.js]
|
includes: [byteConversionValues.js, testTypedArray.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
testTypedArrayConversions(function(TA, value, expected, initial) {
|
testTypedArrayConversions(byteConversionValues, function(TA, value, expected, initial) {
|
||||||
var sample = new TA([initial]);
|
var sample = new TA([initial]);
|
||||||
|
|
||||||
var result = sample.map(function() {
|
var result = sample.map(function() {
|
||||||
|
@ -18,10 +18,10 @@ info: >
|
|||||||
d. Perform SetValueInBuffer(targetBuffer, targetByteIndex, targetType,
|
d. Perform SetValueInBuffer(targetBuffer, targetByteIndex, targetType,
|
||||||
kNumber).
|
kNumber).
|
||||||
...
|
...
|
||||||
includes: [testTypedArray.js]
|
includes: [byteConversionValues.js, testTypedArray.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
testTypedArrayConversions(function(TA, value, expected, initial) {
|
testTypedArrayConversions(byteConversionValues, function(TA, value, expected, initial) {
|
||||||
var sample = new TA([initial]);
|
var sample = new TA([initial]);
|
||||||
|
|
||||||
sample.set([value]);
|
sample.set([value]);
|
||||||
|
@ -21,10 +21,10 @@ info: >
|
|||||||
i. Let value be GetValueFromBuffer(srcBuffer, srcByteIndex, srcType).
|
i. Let value be GetValueFromBuffer(srcBuffer, srcByteIndex, srcType).
|
||||||
ii. Perform SetValueInBuffer(targetBuffer, targetByteIndex, targetType,
|
ii. Perform SetValueInBuffer(targetBuffer, targetByteIndex, targetType,
|
||||||
value).
|
value).
|
||||||
includes: [testTypedArray.js]
|
includes: [byteConversionValues.js, testTypedArray.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
testTypedArrayConversions(function(TA, value, expected, initial) {
|
testTypedArrayConversions(byteConversionValues, function(TA, value, expected, initial) {
|
||||||
if (TA === Float64Array) {
|
if (TA === Float64Array) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -41,10 +41,10 @@ info: >
|
|||||||
...
|
...
|
||||||
e. Else,
|
e. Else,
|
||||||
...
|
...
|
||||||
includes: [testTypedArray.js]
|
includes: [byteConversionValues.js, testTypedArray.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
testTypedArrayConversions(function(TA, value, expected, initial) {
|
testTypedArrayConversions(byteConversionValues, function(TA, value, expected, initial) {
|
||||||
var sample = new TA([initial]);
|
var sample = new TA([initial]);
|
||||||
|
|
||||||
Object.defineProperty(sample, "0", {value: value});
|
Object.defineProperty(sample, "0", {value: value});
|
||||||
|
@ -38,10 +38,10 @@ info: >
|
|||||||
...
|
...
|
||||||
e. Else,
|
e. Else,
|
||||||
...
|
...
|
||||||
includes: [testTypedArray.js]
|
includes: [byteConversionValues.js, testTypedArray.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
testTypedArrayConversions(function(TA, value, expected, initial) {
|
testTypedArrayConversions(byteConversionValues, function(TA, value, expected, initial) {
|
||||||
var sample = new TA([initial]);
|
var sample = new TA([initial]);
|
||||||
|
|
||||||
sample[0] = value;
|
sample[0] = value;
|
||||||
|
@ -42,10 +42,10 @@ info: >
|
|||||||
...
|
...
|
||||||
e. Else,
|
e. Else,
|
||||||
...
|
...
|
||||||
includes: [testTypedArray.js]
|
includes: [byteConversionValues.js, testTypedArray.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
testTypedArrayConversions(function(TA, value, expected) {
|
testTypedArrayConversions(byteConversionValues, function(TA, value, expected) {
|
||||||
var sample = new TA([value]);
|
var sample = new TA([value]);
|
||||||
|
|
||||||
assert.sameValue(sample[0], expected, value + " converts to " + expected);
|
assert.sameValue(sample[0], expected, value + " converts to " + expected);
|
||||||
|
22
test/harness/byteConversionValues.js
Normal file
22
test/harness/byteConversionValues.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// Copyright (C) 2016 The V8 Project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
description: >
|
||||||
|
Ensure the original and expected values are set properly
|
||||||
|
includes: [byteConversionValues.js]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var values = byteConversionValues.values;
|
||||||
|
var expected = byteConversionValues.expected;
|
||||||
|
|
||||||
|
assert(values.length > 0);
|
||||||
|
assert.sameValue(values.length, expected.Float32.length, "Float32");
|
||||||
|
assert.sameValue(values.length, expected.Float64.length, "Float64");
|
||||||
|
assert.sameValue(values.length, expected.Int8.length, "Int8");
|
||||||
|
assert.sameValue(values.length, expected.Int16.length, "Int16");
|
||||||
|
assert.sameValue(values.length, expected.Int32.length, "Int32");
|
||||||
|
assert.sameValue(values.length, expected.Uint8.length, "Uint8");
|
||||||
|
assert.sameValue(values.length, expected.Uint16.length, "Uint16");
|
||||||
|
assert.sameValue(values.length, expected.Uint32.length, "Uint32");
|
||||||
|
assert.sameValue(values.length, expected.Uint8Clamped.length, "Uint8Clamped");
|
Loading…
x
Reference in New Issue
Block a user