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

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

Issue 2681423002: Use testharness.js instead of js-test.js in LayoutTests/fast/canvas tests. (Closed)
Patch Set: Adding exceptions to TestExpectations 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-lineDash.html
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-lineDash.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-lineDash.html
index a546137f43bda341e208008dcdda6c89fff514a1..fb10f98c155591e00e690d772c481053c03a0c66 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-lineDash.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-lineDash.html
@@ -1,9 +1,110 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test.js"></script>
-</head>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
<body>
-<script src="script-tests/canvas-lineDash.js"></script>
+<script>
+test(function(t) {
+
+ var canvas = document.createElement('canvas');
+ document.body.appendChild(canvas);
+ canvas.setAttribute('width', '700');
+ canvas.setAttribute('height', '700');
+ var ctx = canvas.getContext('2d');
+
+ // Verify default values.
+ assert_equals(ctx.lineDashOffset, 0);
+
+ // Set dash-style.
+ ctx.setLineDash([15, 10]);
+ ctx.lineDashOffset = 5;
+ ctx.strokeRect (10,10,100,100);
+
+ // Verify dash and offset.
+ var lineDash;
+ lineDash = ctx.getLineDash();
+ assert_equals(lineDash[0], 15);
+ assert_equals(lineDash[1], 10);
+ assert_equals(ctx.lineDashOffset, 5);
+
+ // Verify setting line dash to sequence of nulls is interpreted as zeros
+ ctx.setLineDash([null, null]);
+ lineDash = ctx.getLineDash();
+ assert_equals(lineDash[0], 0);
+ assert_equals(lineDash[1], 0);
+
+ // Set dash style to even number
+ ctx.setLineDash([5, 10, 15]);
+ ctx.strokeRect(20, 20, 120, 120);
+
+ // Verify dash pattern is normalized
+ lineDash = ctx.getLineDash();
+ assert_equals(lineDash[0], 5);
+ assert_equals(lineDash[1], 10);
+ assert_equals(lineDash[2], 15);
+ assert_equals(lineDash[3], 5);
+ assert_equals(lineDash[4], 10);
+ assert_equals(lineDash[5], 15);
+
+ // Verify that conversion from string works
+ ctx.setLineDash(["1", 2]);
+ lineDash = ctx.getLineDash();
+ assert_equals(lineDash[0], 1);
+ assert_equals(lineDash[1], 2);
+
+ // Verify that line dash offset persists after
+ // clearRect (which causes a save/restore of the context
+ // state to the stack).
+ ctx.clearRect(0, 0, 700, 700);
+ assert_equals(ctx.lineDashOffset, 5);
+
+ // Verify dash rendering
+ ctx.setLineDash([20, 10]);
+ ctx.lineDashOffset = 0;
+ ctx.lineWidth = 4; // To make the test immune to plaform anti-aliasing discrepancies
+ ctx.strokeStyle = '#00FF00';
+ ctx.strokeRect(10.5, 10.5, 30, 30);
+
+ assert_array_equals(ctx.getImageData(25, 10, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(35, 10, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(40, 25, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(40, 35, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(25, 40, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(15, 40, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(10, 25, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(10, 15, 1, 1).data, [0, 0, 0, 0]);
+
+ // Verify that lineDashOffset works as expected
+ ctx.lineDashOffset = 20;
+ ctx.strokeRect(50.5, 10.5, 30, 30);
+ assert_array_equals(ctx.getImageData(55, 10, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(65, 10, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(80, 15, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(80, 25, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(75, 40, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(65, 40, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(50, 35, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(50, 25, 1, 1).data, [0, 255, 0, 255]);
+
+ // Verify negative lineDashOffset
+ ctx.lineDashOffset = -10;
+ ctx.strokeRect(90.5, 10.5, 30, 30);
+ assert_array_equals(ctx.getImageData(95, 10, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(105, 10, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(120, 15, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(120, 25, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(115, 40, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(105, 40, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(90, 35, 1, 1).data, [0, 0, 0, 0]);
+ assert_array_equals(ctx.getImageData(90, 25, 1, 1).data, [0, 255, 0, 255]);
+
+ // Verify that all zero dash sequence results in no dashing
+ ctx.setLineDash([0, 0]);
+ ctx.lineDashOffset = 0;
+ ctx.strokeRect(130.5, 10.5, 30, 30);
+ assert_array_equals(ctx.getImageData(130, 10, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(130, 15, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(130, 25, 1, 1).data, [0, 255, 0, 255]);
+ assert_array_equals(ctx.getImageData(130, 35, 1, 1).data, [0, 255, 0, 255]);
+
+}, "Basic test for setLineDash, getLineDash and lineDashOffset");
+</script>
</body>
-</html>

Powered by Google App Engine
This is Rietveld 408576698