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

Unified Diff: third_party/WebKit/LayoutTests/fast/canvas/pointInPath.html

Issue 2701053003: 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/pointInPath.html
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/pointInPath.html b/third_party/WebKit/LayoutTests/fast/canvas/pointInPath.html
index 8355c6dfb4af834d534103ca62eca03c5296de8d..7a151204421e28af53f28ce8f1d9f0775b0bcb5a 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/pointInPath.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/pointInPath.html
@@ -1,10 +1,71 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test.js"></script>
-</head>
-<body>
-<canvas id="canvas"></canvas>
-<script src="pointInPath.js"></script>
-</body>
-</html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script>
+test(function(){
+
+ ctx = document.createElement("canvas").getContext("2d");
+ ctx.save();
+ // Rectangle at (0,0) 20x20
+ ctx.rect(0, 0, 20, 20);
+ assert_true(ctx.isPointInPath(5, 5));
+ assert_true(ctx.isPointInPath(10, 10));
+ assert_true(ctx.isPointInPath(19, 19));
+ assert_false(ctx.isPointInPath(30, 30));
+ assert_false(ctx.isPointInPath(-1, 10));
+ assert_false(ctx.isPointInPath(10, -1));
+
+ // Translate context (10,10)
+ ctx.translate(10,10);
+ assert_true(ctx.isPointInPath(5, 5));
+ assert_true(ctx.isPointInPath(10, 10));
+ assert_true(ctx.isPointInPath(19, 19));
+ assert_false(ctx.isPointInPath(30, 30));
+ assert_false(ctx.isPointInPath(-1, 10));
+ assert_false(ctx.isPointInPath(10, -1));
+
+ // Collapse ctm to non-invertible matrix
+ ctx.scale(0,0);
+ assert_false(ctx.isPointInPath(5, 5));
+ assert_false(ctx.isPointInPath(10, 10));
+ assert_false(ctx.isPointInPath(20, 20));
+ assert_false(ctx.isPointInPath(30, 30));
+ assert_false(ctx.isPointInPath(-1, 10));
+ assert_false(ctx.isPointInPath(10, -1));
+ // Resetting context to a clean state
+ ctx.restore();
+
+ ctx.save();
+ ctx.beginPath();
+ // Translate context (10,10)
+ ctx.translate(10,10);
+ // Rectangle at (0,0) 20x20
+ ctx.rect(0, 0, 20, 20);
+ assert_false(ctx.isPointInPath(5, 5));
+ assert_true(ctx.isPointInPath(10, 10));
+ assert_true(ctx.isPointInPath(20, 20));
+ assert_true(ctx.isPointInPath(29, 29));
+ assert_false(ctx.isPointInPath(-1, 10));
+ assert_false(ctx.isPointInPath(10, -1));
+ ctx.restore();
+
+ ctx.save();
+ ctx.beginPath();
+ // Translate context (10,20)
+ ctx.translate(10,20);
+ // Transform context (1, 0, 0, -1, 0, 0)
+ ctx.transform(1, 0, 0, -1, 0, 0);
+ // Rectangle at (0,0) 20x20
+ ctx.rect(0, 0, 20, 20);
+ // After the flip, rect is actually 10, 0, 20, 20
+ assert_false(ctx.isPointInPath(5, 5));
+ assert_true(ctx.isPointInPath(10, 0));
+ assert_true(ctx.isPointInPath(29, 0));
+ assert_true(ctx.isPointInPath(10, 19));
+ assert_true(ctx.isPointInPath(21, 10));
+ assert_true(ctx.isPointInPath(29, 19));
+ ctx.strokeStyle = 'green';
+ ctx.stroke();
+ ctx.restore();
+
+}, "Series of tests for Canvas.isPointInPath");
+</script>

Powered by Google App Engine
This is Rietveld 408576698