This test checks createLinearGradient with infinite values

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


PASS ctx.createLinearGradient(0, 0, 100, NaN) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(0, 0, 100, Infinity) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(0, 0, 100, -Infinity) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(0, 0, NaN, 100) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(0, 0, Infinity, 100) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(0, 0, -Infinity, 100) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(0, NaN, 100, 100) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(0, Infinity, 100, 100) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(0, -Infinity, 100, 100) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(NaN, 0, 100, 100) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(Infinity, 0, 100, 100) threw exception TypeError: The provided value is non-finite.
PASS ctx.createLinearGradient(-Infinity, 0, 100, 100) threw exception TypeError: The provided value is non-finite.
PASS successfullyParsed is true

TEST COMPLETE

