2015-12-15 17:33:49 +01:00
|
|
|
// Copyright (C) 2015 André Bargull. All rights reserved.
|
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Array containing every typed array constructor.
|
|
|
|
*/
|
|
|
|
var typedArrayConstructors = [
|
|
|
|
Float64Array,
|
|
|
|
Float32Array,
|
|
|
|
Int32Array,
|
|
|
|
Int16Array,
|
|
|
|
Int8Array,
|
|
|
|
Uint32Array,
|
|
|
|
Uint16Array,
|
|
|
|
Uint8Array,
|
2016-02-03 23:03:21 +01:00
|
|
|
Uint8ClampedArray
|
2015-12-15 17:33:49 +01:00
|
|
|
];
|
|
|
|
|
2016-01-15 18:12:42 +01:00
|
|
|
/**
|
|
|
|
* The %TypedArray% intrinsic constructor function.
|
|
|
|
*/
|
|
|
|
var TypedArray = Object.getPrototypeOf(Int8Array);
|
|
|
|
|
2015-12-15 17:33:49 +01:00
|
|
|
/**
|
|
|
|
* Callback for testing a typed array constructor.
|
|
|
|
*
|
|
|
|
* @callback typedArrayConstructorCallback
|
|
|
|
* @param {Function} Constructor the constructor object to test with.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Calls the provided function for every typed array constructor.
|
|
|
|
*
|
|
|
|
* @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor.
|
2016-02-03 23:03:21 +01:00
|
|
|
* @param {Array} selected - An optional Array with filtered typed arrays
|
2015-12-15 17:33:49 +01:00
|
|
|
*/
|
2016-02-03 23:03:21 +01:00
|
|
|
function testWithTypedArrayConstructors(f, selected) {
|
|
|
|
var constructors = selected || typedArrayConstructors;
|
|
|
|
for (var i = 0; i < constructors.length; ++i) {
|
|
|
|
var constructor = constructors[i];
|
2015-12-15 17:33:49 +01:00
|
|
|
try {
|
|
|
|
f(constructor);
|
|
|
|
} catch (e) {
|
|
|
|
e.message += " (Testing with " + constructor.name + ".)";
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|