[Worker] Test ImageData constructor On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Starting worker: ./resources/canvas-ImageData-workers.js PASS [Worker] ImageData is defined. PASS [Worker] ImageData.length is 2 PASS [Worker] imageData is non-null. PASS [Worker] imageData.data is non-null. PASS [Worker] imageData.width is 100 PASS [Worker] imageData.height is 50 PASS [Worker] getRGBA(imageData.data, 4) is [0, 0, 0, 0] PASS [Worker] getRGBA(imageData.data, 4) is testColor PASS [Worker] new ImageData(10) threw exception TypeError: Failed to construct 'ImageData': 2 arguments required, but only 1 present.. PASS [Worker] new ImageData(0, 10) threw exception IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number.. PASS [Worker] new ImageData(10, 0) threw exception IndexSizeError: Failed to construct 'ImageData': The source height is zero or not a number.. PASS [Worker] new ImageData('width', 'height') threw exception IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number.. PASS [Worker] new ImageData(1 << 31, 1 << 31) threw exception IndexSizeError: Failed to construct 'ImageData': The requested image size exceeds the supported range.. PASS [Worker] new ImageData(new Uint8ClampedArray(0)) threw exception TypeError: Failed to construct 'ImageData': 2 arguments required, but only 1 present.. PASS [Worker] new ImageData(new Uint8Array(100), 25) threw exception IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number.. PASS [Worker] new ImageData(new Uint8ClampedArray(27), 2) threw exception IndexSizeError: Failed to construct 'ImageData': The input data byte length is not a multiple of 4.. PASS [Worker] new ImageData(new Uint8ClampedArray(28), 7, 0) threw exception IndexSizeError: Failed to construct 'ImageData': The input data byte length is not equal to (4 * width * height).. PASS [Worker] new ImageData(new Uint8ClampedArray(104), 14) threw exception IndexSizeError: Failed to construct 'ImageData': The input data byte length is not a multiple of (4 * width).. PASS [Worker] new ImageData(self, 4, 4) threw exception TypeError: Failed to construct 'ImageData': parameter 1 is not of type 'Uint8ClampedArray'.. PASS [Worker] new ImageData(null, 4, 4) threw exception TypeError: Failed to construct 'ImageData': parameter 1 is not of type 'Uint8ClampedArray'.. PASS [Worker] new ImageData(imageData.data, 0) threw exception IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number.. PASS [Worker] new ImageData(imageData.data, 13) threw exception IndexSizeError: Failed to construct 'ImageData': The input data byte length is not a multiple of (4 * width).. PASS [Worker] new ImageData(imageData.data, 1 << 31) threw exception IndexSizeError: Failed to construct 'ImageData': The input data byte length is not a multiple of (4 * width).. PASS [Worker] new ImageData(imageData.data, 'biggish') threw exception IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number.. PASS [Worker] new ImageData(imageData.data, 1 << 24, 1 << 31) threw exception IndexSizeError: Failed to construct 'ImageData': The input data byte length is not a multiple of (4 * width).. PASS [Worker] (new ImageData(new Uint8ClampedArray(28), 7)).height is 1 PASS [Worker] imageDataFromData.width is 100 PASS [Worker] imageDataFromData.height is 50 PASS [Worker] imageDataFromData.data is imageData.data PASS [Worker] getRGBA(imageDataFromData.data, 10) is getRGBA(imageData.data, 10) PASS [Worker] getRGBA(imageDataFromData.data, 10) is getRGBA(imageData.data, 10) PASS [Worker] imageDataFromData.width is 20 PASS [Worker] imageDataFromData.height is 5 PASS [Worker] imageDataFromData.data is data PASS [Worker] getRGBA(imageDataFromData.data, 2) is getRGBA(data, 2) PASS [Worker] getRGBA(imageDataFromData.data, 2) is getRGBA(data, 2) PASS successfullyParsed is true TEST COMPLETE