summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--harness/byteConversionValues.js445
-rwxr-xr-xharness/testTypedArray.js431
-rw-r--r--test/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations.js4
-rw-r--r--test/built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation.js4
-rw-r--r--test/built-ins/TypedArray/prototype/set/array-arg-src-tonumber-value-conversions.js4
-rw-r--r--test/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-conversions.js4
-rw-r--r--test/built-ins/TypedArrays/internals/DefineOwnProperty/conversion-operation.js4
-rw-r--r--test/built-ins/TypedArrays/internals/Set/conversion-operation.js4
-rw-r--r--test/built-ins/TypedArrays/object-arg-conversion-operation.js4
-rw-r--r--test/harness/byteConversionValues.js22
10 files changed, 487 insertions, 439 deletions
diff --git a/harness/byteConversionValues.js b/harness/byteConversionValues.js
new file mode 100644
index 000000000..a2074aefc
--- /dev/null
+++ b/harness/byteConversionValues.js
@@ -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
+ ]
+ }
+};
diff --git a/harness/testTypedArray.js b/harness/testTypedArray.js
index 81e364bea..aece79d8e 100755
--- a/harness/testTypedArray.js
+++ b/harness/testTypedArray.js
@@ -56,434 +56,15 @@ function testWithTypedArrayConstructors(f, selected) {
* value, and a initial value that can be used to avoid
* a false positive with an equivalent expected value.
*/
-function testTypedArrayConversions(fn) {
- var 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,
- ];
-
- 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
- ]
- };
+function testTypedArrayConversions(byteConversionValues, fn) {
+ var values = byteConversionValues.values;
+ var expected = byteConversionValues.expected;
testWithTypedArrayConstructors(function(TA) {
+ var name = TA.name.slice(0, -5);
+
return values.forEach(function(value, index) {
- var exp = expected[TA.name][index];
+ var exp = expected[name][index];
var initial = 0;
if (exp === 0) {
initial = 1;
diff --git a/test/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations.js b/test/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations.js
index b6f69870c..a5152dcfd 100644
--- a/test/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations.js
+++ b/test/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations.js
@@ -44,10 +44,10 @@ info: >
...
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]);
sample.fill(value);
diff --git a/test/built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation.js b/test/built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation.js
index a7bd914db..a553388c6 100644
--- a/test/built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation.js
+++ b/test/built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation.js
@@ -37,10 +37,10 @@ info: >
...
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 result = sample.map(function() {
diff --git a/test/built-ins/TypedArray/prototype/set/array-arg-src-tonumber-value-conversions.js b/test/built-ins/TypedArray/prototype/set/array-arg-src-tonumber-value-conversions.js
index ec47b9d54..6ca9bf888 100644
--- a/test/built-ins/TypedArray/prototype/set/array-arg-src-tonumber-value-conversions.js
+++ b/test/built-ins/TypedArray/prototype/set/array-arg-src-tonumber-value-conversions.js
@@ -18,10 +18,10 @@ info: >
d. Perform SetValueInBuffer(targetBuffer, targetByteIndex, targetType,
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]);
sample.set([value]);
diff --git a/test/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-conversions.js b/test/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-conversions.js
index 2c516ce30..6447a5e63 100644
--- a/test/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-conversions.js
+++ b/test/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-conversions.js
@@ -21,10 +21,10 @@ info: >
i. Let value be GetValueFromBuffer(srcBuffer, srcByteIndex, srcType).
ii. Perform SetValueInBuffer(targetBuffer, targetByteIndex, targetType,
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) {
return;
}
diff --git a/test/built-ins/TypedArrays/internals/DefineOwnProperty/conversion-operation.js b/test/built-ins/TypedArrays/internals/DefineOwnProperty/conversion-operation.js
index be44d99d2..b4b14af86 100644
--- a/test/built-ins/TypedArrays/internals/DefineOwnProperty/conversion-operation.js
+++ b/test/built-ins/TypedArrays/internals/DefineOwnProperty/conversion-operation.js
@@ -41,10 +41,10 @@ info: >
...
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]);
Object.defineProperty(sample, "0", {value: value});
diff --git a/test/built-ins/TypedArrays/internals/Set/conversion-operation.js b/test/built-ins/TypedArrays/internals/Set/conversion-operation.js
index 4368fbf5c..ddc46f91b 100644
--- a/test/built-ins/TypedArrays/internals/Set/conversion-operation.js
+++ b/test/built-ins/TypedArrays/internals/Set/conversion-operation.js
@@ -38,10 +38,10 @@ info: >
...
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]);
sample[0] = value;
diff --git a/test/built-ins/TypedArrays/object-arg-conversion-operation.js b/test/built-ins/TypedArrays/object-arg-conversion-operation.js
index 7af16cf3b..7b376d861 100644
--- a/test/built-ins/TypedArrays/object-arg-conversion-operation.js
+++ b/test/built-ins/TypedArrays/object-arg-conversion-operation.js
@@ -42,10 +42,10 @@ info: >
...
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]);
assert.sameValue(sample[0], expected, value + " converts to " + expected);
diff --git a/test/harness/byteConversionValues.js b/test/harness/byteConversionValues.js
new file mode 100644
index 000000000..e89e8ab40
--- /dev/null
+++ b/test/harness/byteConversionValues.js
@@ -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");