Test the handling of invalid arguments in canvas getImageData().

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS ctx.getImageData(NaN, 10, 10, 10) threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(10, NaN, 10, 10) threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(10, 10, NaN, 10) threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(10, 10, 10, NaN) threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(Infinity, 10, 10, 10) threw exception TypeError: Value Infinity is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(10, Infinity, 10, 10) threw exception TypeError: Value Infinity is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(10, 10, Infinity, 10) threw exception TypeError: Value Infinity is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(10, 10, 10, Infinity) threw exception TypeError: Value Infinity is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(undefined, 10, 10, 10) threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(10, undefined, 10, 10) threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(10, 10, undefined, 10) threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(10, 10, 10, undefined) threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
PASS ctx.getImageData(10, 10, 0, 10) threw exception IndexSizeError: The index is not in the allowed range..
PASS ctx.getImageData(10, 10, 10, 0) threw exception IndexSizeError: The index is not in the allowed range..
PASS successfullyParsed is true

TEST COMPLETE

