Series of tests to ensure correct behaviour of canvas.currentTransform On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Check initial currentTransform values PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 0 PASS matrix.f is 0 Changing matrix should not affect the CTM PASS ctx.currentTransform.a is 1 PASS ctx.currentTransform.b is 0 PASS ctx.currentTransform.c is 0 PASS ctx.currentTransform.d is 1 PASS ctx.currentTransform.e is 0 PASS ctx.currentTransform.f is 0 Reset the CTM to the initial matrix PASS matrix.a is 0.5 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 0.5 PASS matrix.e is 0 PASS matrix.f is 0 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 0 PASS matrix.f is 0 PASS imgdata[4] is 0 PASS imgdata[5] is 128 PASS imgdata[6] is 0 currentTransform should not affect the current path PASS matrix.a is 0.5 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 0.5 PASS matrix.e is 10 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 0 PASS matrix.f is 0 PASS imgdata[4] is 0 PASS imgdata[5] is 128 PASS imgdata[6] is 0 currentTransform should not affect the CTM outside of save() and restore() PASS matrix.a is 0.5 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 0.5 PASS matrix.e is 0 PASS matrix.f is 0 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 0 PASS matrix.f is 0 PASS imgdata[4] is 0 PASS imgdata[5] is 128 PASS imgdata[6] is 0 stop drawing on not-invertible CTM PASS matrix.a is 0 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 0 PASS matrix.e is 0 PASS matrix.f is 0 PASS imgdata[4] is 0 PASS imgdata[5] is 128 PASS imgdata[6] is 0 currentTransform with a not-invertible matrix should only stop the drawing up to the next restore() PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 0 PASS matrix.f is 0 PASS matrix.a is 0 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 0 PASS matrix.e is 0 PASS matrix.f is 0 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 0 PASS matrix.f is 0 PASS imgdata[4] is 0 PASS imgdata[5] is 0 PASS imgdata[6] is 255 currentTransform should set transform although CTM is not-invertible PASS matrix.a is 0 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 0 PASS matrix.e is 0 PASS matrix.f is 0 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 0 PASS matrix.f is 0 PASS imgdata[4] is 0 PASS imgdata[5] is 0 PASS imgdata[6] is 255 Check that non-invertible transforms are reflected in currentTransform PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 1 PASS matrix.f is 2 PASS matrix.a is 0 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 0 PASS matrix.e is 1 PASS matrix.f is 2 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 0 PASS matrix.f is 0 Check assigning an invalid object throws exception as expected PASS ctx.currentTransform = ctx threw exception TypeError: Failed to set the 'currentTransform' property on 'CanvasRenderingContext2D': The provided value is not of type 'SVGMatrix'.. PASS ctx.currentTransform = undefined threw exception TypeError: Failed to set the 'currentTransform' property on 'CanvasRenderingContext2D': The provided value is not of type 'SVGMatrix'.. PASS ctx.currentTransform = null threw exception TypeError: Failed to set the 'currentTransform' property on 'CanvasRenderingContext2D': The provided value is not of type 'SVGMatrix'.. Check handling non-finite values. see 2d.transformation.setTransform.nonfinite.html PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS matrix.a is 1 PASS matrix.b is 0 PASS matrix.c is 0 PASS matrix.d is 1 PASS matrix.e is 100 PASS matrix.f is 10 PASS imgdata[4] is 0 PASS imgdata[5] is 128 PASS imgdata[6] is 0 PASS successfullyParsed is true TEST COMPLETE