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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-isPointInPath-winding.js

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 unified diff | Download patch
OLDNEW
(Empty)
1 description("Series of tests to ensure correct results of the winding rule in is PointInPath.");
2
3 var tmpimg = document.createElement('canvas');
4 tmpimg.width = 200;
5 tmpimg.height = 200;
6 ctx = tmpimg.getContext('2d');
7
8 // Execute test.
9 function prepareTestScenario() {
10 debug('Testing default isPointInPath');
11 ctx.beginPath();
12 ctx.rect(0, 0, 100, 100);
13 ctx.rect(25, 25, 50, 50);
14 shouldBeTrue("ctx.isPointInPath(50, 50)");
15 shouldBeFalse("ctx.isPointInPath(NaN, 50)");
16 shouldBeFalse("ctx.isPointInPath(50, NaN)");
17 debug('');
18
19 debug('Testing nonzero isPointInPath');
20 ctx.beginPath();
21 ctx.rect(0, 0, 100, 100);
22 ctx.rect(25, 25, 50, 50);
23 shouldBeTrue("ctx.isPointInPath(50, 50, 'nonzero')");
24 debug('');
25
26 debug('Testing evenodd isPointInPath');
27 ctx.beginPath();
28 ctx.rect(0, 0, 100, 100);
29 ctx.rect(25, 25, 50, 50);
30 shouldBeFalse("ctx.isPointInPath(50, 50, 'evenodd')");
31 debug('');
32
33 // reset path in context
34 ctx.beginPath();
35
36 debug('Testing default isPointInPath with Path object');
37 path = new Path2D();
38 path.rect(0, 0, 100, 100);
39 path.rect(25, 25, 50, 50);
40 shouldBeTrue("ctx.isPointInPath(path, 50, 50)");
41 shouldBeTrue("ctx.isPointInPath(path, 50, 50, undefined)");
42 shouldBeFalse("ctx.isPointInPath(path, NaN, 50)");
43 shouldBeFalse("ctx.isPointInPath(path, 50, NaN)");
44 debug('');
45
46 debug('Testing nonzero isPointInPath with Path object');
47 path = new Path2D();
48 path.rect(0, 0, 100, 100);
49 path.rect(25, 25, 50, 50);
50 shouldBeTrue("ctx.isPointInPath(path, 50, 50, 'nonzero')");
51 debug('');
52
53 debug('Testing evenodd isPointInPath with Path object');
54 path = new Path2D();
55 path.rect(0, 0, 100, 100);
56 path.rect(25, 25, 50, 50);
57 shouldBeFalse("ctx.isPointInPath(path, 50, 50, 'evenodd')");
58 debug('');
59
60 debug('Testing invalid enumeration isPointInPath (w/ and w/o Path object');
61 shouldThrow("ctx.isPointInPath(path, 50, 50, 'gazonk')");
62 shouldThrow("ctx.isPointInPath(50, 50, 'gazonk')");
63 debug('');
64
65 debug('Testing invalid type isPointInPath with Path object');
66 shouldThrow("ctx.isPointInPath(null, 50, 50)");
67 shouldThrow("ctx.isPointInPath(null, 50, 50, 'nonzero')");
68 shouldThrow("ctx.isPointInPath(null, 50, 50, 'evenodd')");
69 shouldThrow("ctx.isPointInPath(null, 50, 50, null)");
70 shouldThrow("ctx.isPointInPath(path, 50, 50, null)");
71 shouldThrow("ctx.isPointInPath(undefined, 50, 50)");
72 shouldThrow("ctx.isPointInPath(undefined, 50, 50, 'nonzero')");
73 shouldThrow("ctx.isPointInPath(undefined, 50, 50, 'evenodd')");
74 shouldThrow("ctx.isPointInPath(undefined, 50, 50, undefined)");
75 shouldThrow("ctx.isPointInPath([], 50, 50)");
76 shouldThrow("ctx.isPointInPath([], 50, 50, 'nonzero')");
77 shouldThrow("ctx.isPointInPath([], 50, 50, 'evenodd')");
78 shouldThrow("ctx.isPointInPath({}, 50, 50)");
79 shouldThrow("ctx.isPointInPath({}, 50, 50, 'nonzero')");
80 shouldThrow("ctx.isPointInPath({}, 50, 50, 'evenodd')");
81 debug('');
82
83 debug("Testing extremely large scale")
84 ctx.save();
85 ctx.scale(Number.MAX_VALUE, Number.MAX_VALUE);
86 ctx.beginPath();
87 ctx.rect(-10, -10, 20, 20);
88 shouldBeTrue("ctx.isPointInPath(0, 0, 'nonzero')");
89 shouldBeTrue("ctx.isPointInPath(0, 0, 'evenodd')");
90 ctx.restore();
91
92 debug("Check with non-invertible ctm.")
93 ctx.save();
94 ctx.scale(0, 0);
95 ctx.beginPath();
96 ctx.rect(-10, -10, 20, 20);
97 shouldBeFalse("ctx.isPointInPath(0, 0, 'nonzero')");
98 shouldBeFalse("ctx.isPointInPath(0, 0, 'evenodd')");
99 ctx.restore();
100 }
101
102 // Run test and allow variation of results.
103 prepareTestScenario();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698