Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Unified Diff: third_party/WebKit/LayoutTests/fast/canvas/canvas-pattern-behaviour.html

Issue 2689243002: Use testharness.js instead of js-test.js in LayoutTests/fast/canvas tests. (Closed)
Patch Set: Addressing comments Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-pattern-behaviour.html
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-pattern-behaviour.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-pattern-behaviour.html
index b2be952f4056c551d872d882d01f4ef6ad8b2b15..687bdac56bd9eccf3080a785ebf4e2d743ed18f9 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-pattern-behaviour.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-pattern-behaviour.html
@@ -1,2 +1,74 @@
-<script src="../../resources/js-test.js"></script>
-<script src="canvas-pattern-behaviour.js"></script>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script>
+
+function pixelShouldBe(x, y, color) {
+ assert_array_equals(context.getImageData(x, y, 1, 1).data, color);
+}
+
+function createCanvasImage(width, height, color) {
+ var c = document.createElement("canvas");
+ c.width = width;
+ c.height = height;
+ var context = c.getContext("2d");
+ context.fillStyle = color;
+ context.fillRect(0, 0, width, height);
+ return c;
+}
+
+var green1x1 = createCanvasImage(1, 1, "green");
+var green100x50 = createCanvasImage(100, 50, "green");
+
+var canvas = document.createElement("canvas");
+canvas.width = 100;
+canvas.height = 50;
+var context = canvas.getContext("2d");
+context.fillStyle="red";
+context.fillRect(0, 0, 100, 50);
+
+test(function () {
+ var pattern = context.createPattern(green1x1, null);
+ context.fillStyle = pattern;
+ context.fillRect(0, 0, 100, 50);
+ pixelShouldBe(1, 1, [0, 128, 0, 255]);
+ pixelShouldBe(98, 1, [0, 128, 0, 255]);
+ pixelShouldBe(1, 48, [0, 128, 0, 255]);
+ pixelShouldBe(98, 48, [0, 128, 0, 255]);
+
+ assert_throws(null, function() {context.createPattern(green1x1, 'null');});
+ assert_throws(null, function() {context.createPattern(green1x1, undefined);});
+ assert_throws(null, function() {context.createPattern(green1x1, 'undefined');});
+ assert_throws(null, function() {context.createPattern(green1x1, {toString:function(){ return null;}});});
+ assert_throws(null, function() {context.createPattern(null, '');});
+ assert_throws(null, function() {context.createPattern(undefined, '');});
+ assert_throws(null, function() {context.createPattern({}, '');});
+ assert_throws(null, function() {context.createPattern([], '');});
+
+ pattern = context.createPattern(green1x1, '');
+ context.fillStyle = pattern;
+ context.fillRect(0, 0, 100, 50);
+ pixelShouldBe(1, 1, [0, 128, 0, 255]);
+ pixelShouldBe(98, 1, [0, 128, 0, 255]);
+ pixelShouldBe(1, 48, [0, 128, 0, 255]);
+ pixelShouldBe(98, 48, [0, 128, 0, 255]);
+
+ pattern = context.createPattern(green1x1, {toString:function(){ return 'repeat';}});
+ context.fillStyle = pattern;
+ context.fillRect(0, 0, 100, 50);
+ pixelShouldBe(1, 1, [0, 128, 0, 255]);
+ pixelShouldBe(98, 1, [0, 128, 0, 255]);
+ pixelShouldBe(1, 48, [0, 128, 0, 255]);
+ pixelShouldBe(98, 48, [0, 128, 0, 255]);
+
+ context.fillStyle = "green";
+ context.fillRect(0, 0, 50, 50);
+ var pattern = context.createPattern(green100x50, "no-repeat");
+ context.fillStyle = pattern;
+ context.translate(50, 0);
+ context.fillRect(-50, 0, 100, 50);
+ pixelShouldBe(1, 1, [0, 128, 0, 255]);
+ pixelShouldBe(98, 1, [0, 128, 0, 255]);
+ pixelShouldBe(1, 48, [0, 128, 0, 255]);
+ pixelShouldBe(98, 48, [0, 128, 0, 255]);
+}, "Test the behavior of pattern use and construction.");
+</script>

Powered by Google App Engine
This is Rietveld 408576698