Test ImageData constructor On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS ImageData is defined. PASS ImageData.length is 2 PASS imageData is non-null. PASS imageData.data is non-null. PASS imageData.width is 100 PASS imageData.height is 50 PASS getRGBA(imageData.data, 4) is [0, 0, 0, 0] PASS getRGBA(imageData.data, 4) is testColor PASS new ImageData(10) threw exception TypeError: Failed to construct 'ImageData': 2 arguments required, but only 1 present.. PASS new ImageData(0, 10) threw exception IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number.. PASS new ImageData(10, 0) threw exception IndexSizeError: Failed to construct 'ImageData': The source height is zero or not a number.. PASS new ImageData('width', 'height') threw exception IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number.. PASS new ImageData(1 << 31, 1 << 31) threw exception IndexSizeError: Failed to construct 'ImageData': The requested image size exceeds the supported range.. PASS new ImageData(new Uint8ClampedArray(0)) threw exception TypeError: Failed to construct 'ImageData': 2 arguments required, but only 1 present.. PASS new ImageData(new Uint8Array(100), 25) threw exception IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number.. PASS 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 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 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 new ImageData(self, 4, 4) threw exception TypeError: Failed to construct 'ImageData': parameter 1 is not of type 'Uint8ClampedArray'.. PASS new ImageData(null, 4, 4) threw exception TypeError: Failed to construct 'ImageData': parameter 1 is not of type 'Uint8ClampedArray'.. PASS new ImageData(imageData.data, 0) threw exception IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number.. PASS 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 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 new ImageData(imageData.data, 'biggish') threw exception IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number.. PASS 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 (new ImageData(new Uint8ClampedArray(28), 7)).height is 1 PASS imageDataFromData.width is 100 PASS imageDataFromData.height is 50 PASS imageDataFromData.data is imageData.data PASS getRGBA(imageDataFromData.data, 10) is getRGBA(imageData.data, 10) PASS getRGBA(imageDataFromData.data, 10) is getRGBA(imageData.data, 10) PASS imageDataFromData.width is 20 PASS imageDataFromData.height is 5 PASS imageDataFromData.data is data PASS getRGBA(imageDataFromData.data, 2) is getRGBA(data, 2) PASS getRGBA(imageDataFromData.data, 2) is getRGBA(data, 2) PASS successfullyParsed is true TEST COMPLETE