Index: third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-currentTransform.js |
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-currentTransform.js b/third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-currentTransform.js |
deleted file mode 100644 |
index 23f0854cd502bfe475c5539ac06fff022385a9cf..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-currentTransform.js |
+++ /dev/null |
@@ -1,319 +0,0 @@ |
-description("Series of tests to ensure correct behaviour of canvas.currentTransform"); |
-var ctx = document.createElement('canvas').getContext('2d'); |
- |
-var matrix = ctx.currentTransform; |
- |
-debug("Check initial currentTransform values"); |
-shouldBe("matrix.a", "1"); |
-shouldBe("matrix.b", "0"); |
-shouldBe("matrix.c", "0"); |
-shouldBe("matrix.d", "1"); |
-shouldBe("matrix.e", "0"); |
-shouldBe("matrix.f", "0"); |
- |
-function setCurrentTransform(ctx, a, b, c, d, e, f) |
-{ |
- matrix.a = a; |
- matrix.b = b; |
- matrix.c = c; |
- matrix.d = d; |
- matrix.e = e; |
- matrix.f = f; |
- ctx.currentTransform = matrix; |
- matrix.a = NaN; |
- matrix.b = NaN; |
- matrix.c = NaN; |
- matrix.d = NaN; |
- matrix.e = NaN; |
- matrix.f = NaN; |
- matrix = ctx.currentTransform; |
- shouldBe("matrix.a", "" + a); |
- shouldBe("matrix.b", "" + b); |
- shouldBe("matrix.c", "" + c); |
- shouldBe("matrix.d", "" + d); |
- shouldBe("matrix.e", "" + e); |
- shouldBe("matrix.f", "" + f); |
-} |
- |
-matrix.a = 2; |
-debug("Changing matrix should not affect the CTM"); |
-shouldBe("ctx.currentTransform.a", "1"); |
-shouldBe("ctx.currentTransform.b", "0"); |
-shouldBe("ctx.currentTransform.c", "0"); |
-shouldBe("ctx.currentTransform.d", "1"); |
-shouldBe("ctx.currentTransform.e", "0"); |
-shouldBe("ctx.currentTransform.f", "0"); |
- |
-debug("Reset the CTM to the initial matrix"); |
-ctx.beginPath(); |
-ctx.scale(0.5, 0.5); |
-matrix = ctx.currentTransform; |
-shouldBe("matrix.a", "0.5"); |
-shouldBe("matrix.b", "0"); |
-shouldBe("matrix.c", "0"); |
-shouldBe("matrix.d", "0.5"); |
-shouldBe("matrix.e", "0"); |
-shouldBe("matrix.f", "0"); |
-setCurrentTransform(ctx, 1, 0, 0, 1, 0, 0); |
-ctx.fillStyle = 'green'; |
-ctx.fillRect(0, 0, 100, 100); |
- |
-var imageData = ctx.getImageData(1, 1, 98, 98); |
-var imgdata = imageData.data; |
-shouldBe("imgdata[4]", "0"); |
-shouldBe("imgdata[5]", "128"); |
-shouldBe("imgdata[6]", "0"); |
- |
-debug("currentTransform should not affect the current path"); |
-ctx.beginPath(); |
-ctx.rect(0,0,100,100); |
-ctx.save(); |
-setCurrentTransform(ctx, 0.5, 0, 0, 0.5, 10, 10); |
-ctx.fillStyle = 'red'; |
-ctx.fillRect(0, 0, 100, 100); |
-ctx.restore(); |
-matrix = ctx.currentTransform; |
-shouldBe("matrix.a", "1"); |
-shouldBe("matrix.b", "0"); |
-shouldBe("matrix.c", "0"); |
-shouldBe("matrix.d", "1"); |
-shouldBe("matrix.e", "0"); |
-shouldBe("matrix.f", "0"); |
-ctx.fillStyle = 'green'; |
-ctx.fillRect(0, 0, 100, 100); |
- |
-imageData = ctx.getImageData(1, 1, 98, 98); |
-imgdata = imageData.data; |
-shouldBe("imgdata[4]", "0"); |
-shouldBe("imgdata[5]", "128"); |
-shouldBe("imgdata[6]", "0"); |
- |
-debug("currentTransform should not affect the CTM outside of save() and restore()"); |
-ctx.beginPath(); |
-ctx.fillStyle = 'green'; |
-ctx.save(); |
-setCurrentTransform(ctx, 0.5, 0, 0, 0.5, 0, 0); |
-ctx.fillStyle = 'red'; |
-ctx.fillRect(0, 0, 100, 100); |
-ctx.restore(); |
-matrix = ctx.currentTransform; |
-shouldBe("matrix.a", "1"); |
-shouldBe("matrix.b", "0"); |
-shouldBe("matrix.c", "0"); |
-shouldBe("matrix.d", "1"); |
-shouldBe("matrix.e", "0"); |
-shouldBe("matrix.f", "0"); |
-ctx.fillRect(0, 0, 100, 100); |
- |
-imageData = ctx.getImageData(1, 1, 98, 98); |
-imgdata = imageData.data; |
-shouldBe("imgdata[4]", "0"); |
-shouldBe("imgdata[5]", "128"); |
-shouldBe("imgdata[6]", "0"); |
- |
-debug("stop drawing on not-invertible CTM"); |
-ctx.beginPath(); |
-ctx.fillStyle = 'green'; |
-ctx.fillRect(0, 0, 100, 100); |
-setCurrentTransform(ctx, 0, 0, 0, 0, 0, 0); |
-ctx.fillStyle = 'red'; |
-ctx.fillRect(0, 0, 100, 100); |
- |
-imageData = ctx.getImageData(1, 1, 98, 98); |
-imgdata = imageData.data; |
-shouldBe("imgdata[4]", "0"); |
-shouldBe("imgdata[5]", "128"); |
-shouldBe("imgdata[6]", "0"); |
- |
-debug("currentTransform with a not-invertible matrix should only stop the drawing up to the next restore()"); |
-ctx.beginPath(); |
-ctx.resetTransform(); |
-matrix = ctx.currentTransform; |
-shouldBe("matrix.a", "1"); |
-shouldBe("matrix.b", "0"); |
-shouldBe("matrix.c", "0"); |
-shouldBe("matrix.d", "1"); |
-shouldBe("matrix.e", "0"); |
-shouldBe("matrix.f", "0"); |
-ctx.save(); |
-setCurrentTransform(ctx, 0, 0, 0, 0, 0, 0); |
-ctx.fillStyle = 'red'; |
-ctx.fillRect(0, 0, 100, 100); |
-ctx.restore(); |
-matrix = ctx.currentTransform; |
-shouldBe("matrix.a", "1"); |
-shouldBe("matrix.b", "0"); |
-shouldBe("matrix.c", "0"); |
-shouldBe("matrix.d", "1"); |
-shouldBe("matrix.e", "0"); |
-shouldBe("matrix.f", "0"); |
-ctx.fillStyle = 'blue'; |
-ctx.fillRect(0, 0, 100, 100); |
- |
-imageData = ctx.getImageData(1, 1, 98, 98); |
-imgdata = imageData.data; |
-shouldBe("imgdata[4]", "0"); |
-shouldBe("imgdata[5]", "0"); |
-shouldBe("imgdata[6]", "255"); |
- |
-debug("currentTransform should set transform although CTM is not-invertible"); |
-ctx.beginPath(); |
-ctx.fillStyle = 'red'; |
-ctx.fillRect(0, 0, 100, 100); |
-setCurrentTransform(ctx, 0, 0, 0, 0, 0, 0); |
-ctx.fillStyle = 'green'; |
-ctx.fillRect(0, 0, 100, 100); |
-setCurrentTransform(ctx, 1, 0, 0, 1, 0, 0); |
-ctx.fillStyle = 'blue'; |
-ctx.fillRect(0, 0, 100, 100); |
- |
-imageData = ctx.getImageData(1, 1, 98, 98); |
-imgdata = imageData.data; |
-shouldBe("imgdata[4]", "0"); |
-shouldBe("imgdata[5]", "0"); |
-shouldBe("imgdata[6]", "255"); |
- |
-debug("Check that non-invertible transforms are reflected in currentTransform"); |
-setCurrentTransform(ctx, 1, 0, 0, 1, 1, 2); |
-ctx.scale(0, 0); |
-matrix = ctx.currentTransform; |
-shouldBe("matrix.a", "0"); |
-shouldBe("matrix.b", "0"); |
-shouldBe("matrix.c", "0"); |
-shouldBe("matrix.d", "0"); |
-shouldBe("matrix.e", "1"); |
-shouldBe("matrix.f", "2"); |
-setCurrentTransform(ctx, 1, 0, 0, 1, 0, 0); |
- |
-debug("Check assigning an invalid object throws exception as expected"); |
-shouldThrow("ctx.currentTransform = ctx", '"TypeError: Failed to set the \'currentTransform\' property on \'CanvasRenderingContext2D\': The provided value is not of type \'SVGMatrix\'."'); |
-shouldThrow("ctx.currentTransform = undefined", '"TypeError: Failed to set the \'currentTransform\' property on \'CanvasRenderingContext2D\': The provided value is not of type \'SVGMatrix\'."'); |
-shouldThrow("ctx.currentTransform = null", '"TypeError: Failed to set the \'currentTransform\' property on \'CanvasRenderingContext2D\': The provided value is not of type \'SVGMatrix\'."'); |
- |
-debug("Check handling non-finite values. see 2d.transformation.setTransform.nonfinite.html"); |
-ctx.fillStyle = 'red'; |
-ctx.fillRect(0, 0, 100, 100); |
- |
-function setCurrentTransformToNonfinite(ctx, a, b, c, d, e, f) |
-{ |
- matrix.a = a; |
- matrix.b = b; |
- matrix.c = c; |
- matrix.d = d; |
- matrix.e = e; |
- matrix.f = f; |
- ctx.currentTransform = matrix; |
- matrix.a = NaN; |
- matrix.b = NaN; |
- matrix.c = NaN; |
- matrix.d = NaN; |
- matrix.e = NaN; |
- matrix.f = NaN; |
- matrix = ctx.currentTransform; |
- shouldBe("matrix.a", "1"); |
- shouldBe("matrix.b", "0"); |
- shouldBe("matrix.c", "0"); |
- shouldBe("matrix.d", "1"); |
- shouldBe("matrix.e", "100"); |
- shouldBe("matrix.f", "10"); |
-} |
- |
-ctx.translate(100, 10); |
-matrix = ctx.currentTransform; |
-shouldBe("matrix.a", "1"); |
-shouldBe("matrix.b", "0"); |
-shouldBe("matrix.c", "0"); |
-shouldBe("matrix.d", "1"); |
-shouldBe("matrix.e", "100"); |
-shouldBe("matrix.f", "10"); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, 0, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, -Infinity, 0, 0, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, NaN, 0, 0, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, 0, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, -Infinity, 0, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, NaN, 0, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, Infinity, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, -Infinity, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, NaN, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, Infinity, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, -Infinity, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, NaN, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, 0, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, 0, -Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, 0, NaN, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, 0, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, 0, 0, -Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, 0, 0, NaN); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, 0, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, Infinity, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, Infinity, Infinity, 0, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, Infinity, Infinity, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, Infinity, Infinity, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, Infinity, 0, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, Infinity, 0, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, Infinity, 0, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, 0, Infinity, 0, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, 0, Infinity, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, 0, Infinity, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, 0, Infinity, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, 0, 0, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, 0, 0, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, Infinity, 0, 0, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, Infinity, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, Infinity, Infinity, 0, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, Infinity, Infinity, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, Infinity, Infinity, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, Infinity, Infinity, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, Infinity, 0, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, Infinity, 0, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, Infinity, 0, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, 0, Infinity, 0, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, 0, Infinity, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, 0, Infinity, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, 0, Infinity, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, 0, 0, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, 0, 0, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, Infinity, 0, 0, 0, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, Infinity, 0, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, Infinity, Infinity, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, Infinity, Infinity, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, Infinity, Infinity, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, Infinity, Infinity, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, Infinity, 0, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, Infinity, 0, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, Infinity, 0, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, 0, Infinity, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, 0, Infinity, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, 0, Infinity, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, 0, Infinity, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, 0, 0, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, 0, 0, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, Infinity, 0, 0, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, 0, Infinity, Infinity, 0, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, Infinity, Infinity, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, Infinity, Infinity, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, 0, Infinity, Infinity, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, 0, Infinity, 0, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, Infinity, 0, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, 0, Infinity, 0, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, Infinity, Infinity, 0); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, Infinity, Infinity, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, Infinity, 0, Infinity); |
-setCurrentTransformToNonfinite(ctx, 0, 0, 0, 0, Infinity, Infinity); |
-matrix = ctx.currentTransform; |
-shouldBe("matrix.a", "1"); |
-shouldBe("matrix.b", "0"); |
-shouldBe("matrix.c", "0"); |
-shouldBe("matrix.d", "1"); |
-shouldBe("matrix.e", "100"); |
-shouldBe("matrix.f", "10"); |
- |
-ctx.fillStyle = 'green'; |
-ctx.fillRect(-100, -10, 100, 100); |
- |
-imageData = ctx.getImageData(1, 1, 98, 98); |
-imgdata = imageData.data; |
-shouldBe("imgdata[4]", "0"); |
-shouldBe("imgdata[5]", "128"); |
-shouldBe("imgdata[6]", "0"); |