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

Side by Side Diff: LayoutTests/fast/canvas/script-tests/canvas-path-addpath.js

Issue 226953004: Remove get/set currentPath in canvas (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 7 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
1 description("Test addPath() method."); 1 description("Test addPath() method.");
2 var canvas = document.createElement('canvas'); 2 var canvas = document.createElement('canvas');
3 var ctx = canvas.getContext('2d'); 3 var ctx = canvas.getContext('2d');
4 4
5 debug("Test addPath() with transform as identity matrix.") 5 debug("Test addPath() with transform as identity matrix.")
6 ctx.clearRect(0, 0, canvas.width, canvas.height); 6 ctx.clearRect(0, 0, canvas.width, canvas.height);
7 ctx.beginPath(); 7 ctx.beginPath();
8 var p1 = new Path2D(); 8 var p1 = new Path2D();
9 p1.rect(0,0,100,100); 9 p1.rect(0,0,100,100);
10 var p2 = new Path2D(); 10 var p2 = new Path2D();
11 p2.rect(0,100,100,100); 11 p2.rect(0,100,100,100);
12 var m = ctx.currentTransform; 12 var m = ctx.currentTransform;
13 p1.addPath(p2, m); 13 p1.addPath(p2, m);
14 ctx.fillStyle = 'yellow'; 14 ctx.fillStyle = 'yellow';
15 ctx.currentPath = p1; 15 ctx.fill(p1);
16 ctx.fill();
17 var imageData = ctx.getImageData(0, 100, 100, 100); 16 var imageData = ctx.getImageData(0, 100, 100, 100);
18 var imgdata = imageData.data; 17 var imgdata = imageData.data;
19 shouldBe("imgdata[4]", "255"); 18 shouldBe("imgdata[4]", "255");
20 shouldBe("imgdata[5]", "255"); 19 shouldBe("imgdata[5]", "255");
21 shouldBe("imgdata[6]", "0"); 20 shouldBe("imgdata[6]", "0");
22 shouldBe("imgdata[7]", "255"); 21 shouldBe("imgdata[7]", "255");
23 debug(""); 22 debug("");
24 23
25 debug("Test addPath() with transform as translate(100, -100).") 24 debug("Test addPath() with transform as translate(100, -100).")
26 ctx.clearRect(0, 0, canvas.width, canvas.height); 25 ctx.clearRect(0, 0, canvas.width, canvas.height);
27 ctx.beginPath(); 26 ctx.beginPath();
28 var p3 = new Path2D(); 27 var p3 = new Path2D();
29 p3.rect(0,0,100,100); 28 p3.rect(0,0,100,100);
30 var p4 = new Path2D(); 29 var p4 = new Path2D();
31 p4.rect(0,100,100,100); 30 p4.rect(0,100,100,100);
32 m.a = 1; m.b = 0; 31 m.a = 1; m.b = 0;
33 m.c = 0; m.d = 1; 32 m.c = 0; m.d = 1;
34 m.e = 100; m.f = -100; 33 m.e = 100; m.f = -100;
35 p3.addPath(p4, m); 34 p3.addPath(p4, m);
36 ctx.fillStyle = 'yellow'; 35 ctx.fillStyle = 'yellow';
37 ctx.currentPath = p3; 36 ctx.fill(p3);
38 ctx.fill();
39 imageData = ctx.getImageData(100, 0, 100, 100); 37 imageData = ctx.getImageData(100, 0, 100, 100);
40 imgdata = imageData.data; 38 imgdata = imageData.data;
41 shouldBe("imgdata[4]", "255"); 39 shouldBe("imgdata[4]", "255");
42 shouldBe("imgdata[5]", "255"); 40 shouldBe("imgdata[5]", "255");
43 shouldBe("imgdata[6]", "0"); 41 shouldBe("imgdata[6]", "0");
44 shouldBe("imgdata[7]", "255"); 42 shouldBe("imgdata[7]", "255");
45 debug(""); 43 debug("");
46 44
47 debug("Test addPath() with non-invertible transform.") 45 debug("Test addPath() with non-invertible transform.")
48 ctx.clearRect(0, 0, canvas.width, canvas.height); 46 ctx.clearRect(0, 0, canvas.width, canvas.height);
49 ctx.beginPath(); 47 ctx.beginPath();
50 var p5 = new Path2D(); 48 var p5 = new Path2D();
51 p5.rect(0,0,100,100); 49 p5.rect(0,0,100,100);
52 var p6 = new Path2D(); 50 var p6 = new Path2D();
53 p6.rect(100,100,100,100); 51 p6.rect(100,100,100,100);
54 m.a = 0; m.b = 0; 52 m.a = 0; m.b = 0;
55 m.c = 0; m.d = 0; 53 m.c = 0; m.d = 0;
56 m.e = 0; m.f = 0; 54 m.e = 0; m.f = 0;
57 p5.addPath(p6, m); 55 p5.addPath(p6, m);
58 ctx.fillStyle = 'yellow'; 56 ctx.fillStyle = 'yellow';
59 ctx.currentPath = p5; 57 ctx.fill(p5);
60 ctx.fill();
61 imageData = ctx.getImageData(100, 100, 100, 100); 58 imageData = ctx.getImageData(100, 100, 100, 100);
62 imgdata = imageData.data; 59 imgdata = imageData.data;
63 shouldNotBe("imgdata[4]", "255"); 60 shouldNotBe("imgdata[4]", "255");
64 shouldNotBe("imgdata[5]", "255"); 61 shouldNotBe("imgdata[5]", "255");
65 shouldBe("imgdata[6]", "0"); 62 shouldBe("imgdata[6]", "0");
66 shouldNotBe("imgdata[7]", "255"); 63 shouldNotBe("imgdata[7]", "255");
67 debug(""); 64 debug("");
68 65
69 debug("Test addPath() with transform as null or invalid type.") 66 debug("Test addPath() with transform as null or invalid type.")
70 ctx.clearRect(0, 0, canvas.width, canvas.height); 67 ctx.clearRect(0, 0, canvas.width, canvas.height);
71 ctx.beginPath(); 68 ctx.beginPath();
72 var p7 = new Path2D(); 69 var p7 = new Path2D();
73 p7.rect(0,0,100,100); 70 p7.rect(0,0,100,100);
74 var p8 = new Path2D(); 71 var p8 = new Path2D();
75 p8.rect(100,100,100,100); 72 p8.rect(100,100,100,100);
76 p7.addPath(p8, null); 73 p7.addPath(p8, null);
77 shouldThrow("p7.addPath(p8, [])"); 74 shouldThrow("p7.addPath(p8, [])");
78 shouldThrow("p7.addPath(p8, {})"); 75 shouldThrow("p7.addPath(p8, {})");
79 ctx.fillStyle = 'red'; 76 ctx.fillStyle = 'red';
80 ctx.currentPath = p7; 77 ctx.fill(p7);
81 ctx.fill();
82 imageData = ctx.getImageData(100, 100, 100, 100); 78 imageData = ctx.getImageData(100, 100, 100, 100);
83 imgdata = imageData.data; 79 imgdata = imageData.data;
84 shouldBe("imgdata[4]", "255"); 80 shouldBe("imgdata[4]", "255");
85 shouldBe("imgdata[5]", "0"); 81 shouldBe("imgdata[5]", "0");
86 shouldBe("imgdata[6]", "0"); 82 shouldBe("imgdata[6]", "0");
87 shouldBe("imgdata[7]", "255"); 83 shouldBe("imgdata[7]", "255");
88 debug(""); 84 debug("");
89 85
90 debug("Test addPath() with transform omitted.") 86 debug("Test addPath() with transform omitted.")
91 ctx.clearRect(0, 0, canvas.width, canvas.height); 87 ctx.clearRect(0, 0, canvas.width, canvas.height);
92 ctx.beginPath(); 88 ctx.beginPath();
93 var p9 = new Path2D(); 89 var p9 = new Path2D();
94 var p10 = new Path2D(); 90 var p10 = new Path2D();
95 p9.rect(0,0,10,10); 91 p9.rect(0,0,10,10);
96 p10.addPath(p9); 92 p10.addPath(p9);
97 ctx.fillStyle = 'red'; 93 ctx.fillStyle = 'red';
98 ctx.currentPath = p10; 94 ctx.fill(p10);
99 ctx.fill();
100 imageData = ctx.getImageData(1, 1, 1, 1); 95 imageData = ctx.getImageData(1, 1, 1, 1);
101 imgdata = imageData.data; 96 imgdata = imageData.data;
102 shouldBe("imgdata[0]", "255"); 97 shouldBe("imgdata[0]", "255");
103 shouldBe("imgdata[1]", "0"); 98 shouldBe("imgdata[1]", "0");
104 shouldBe("imgdata[2]", "0"); 99 shouldBe("imgdata[2]", "0");
105 shouldBe("imgdata[3]", "255"); 100 shouldBe("imgdata[3]", "255");
106 debug(""); 101 debug("");
107 102
108 debug("Test addPath() with path as null and invalid type"); 103 debug("Test addPath() with path as null and invalid type");
109 var p9 = new Path2D(); 104 var p9 = new Path2D();
110 p9.rect(0,0,100,100); 105 p9.rect(0,0,100,100);
111 shouldThrow("p7.addPath(null, m)"); 106 shouldThrow("p7.addPath(null, m)");
112 shouldThrow("p7.addPath([], m)"); 107 shouldThrow("p7.addPath([], m)");
113 shouldThrow("p7.addPath({}, m)"); 108 shouldThrow("p7.addPath({}, m)");
114 debug(""); 109 debug("");
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698