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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/canvas/canvas-drawImage-shadow.html

Issue 2674863003: 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> 1 <script src="../../resources/testharness.js"></script>
2 <html> 2 <script src="../../resources/testharnessreport.js"></script>
3 <head>
4 <script src="../../resources/js-test.js"></script>
5 </head>
6 <body> 3 <body>
7 <script src="script-tests/canvas-drawImage-shadow.js"></script> 4 <script>
5 // Create auxiliary canvas to draw to and create an image from.
6 // This is done instead of simply loading an image from the file system
7 // because that would throw a SECURITY_ERR DOM Exception.
8 var aCanvas = document.createElement('canvas');
9 aCanvas.setAttribute('width', '200');
10 aCanvas.setAttribute('height', '200');
11 var aCtx = aCanvas.getContext('2d');
12
13 // Draw a circle on the same canvas.
14 aCtx.beginPath();
15 aCtx.fillStyle = 'green';
16 aCtx.arc(100, 100, 150, 0, -Math.PI/2, false);
17 aCtx.fill();
18
19 // Create the image object to be drawn on the master canvas.
20 var img = new Image();
21 img.onload = drawImageToCanvasAndCheckPixels;
22 img.src = aCanvas.toDataURL(); // set a data URI of the base64 enconded image as the source
23
24 // Create master canvas.
25 var canvas = document.createElement('canvas');
26 document.body.appendChild(canvas);
27 canvas.setAttribute('width', '600');
28 canvas.setAttribute('height', '600');
29 var ctx = canvas.getContext('2d');
30
31 function drawImageToCanvasAndCheckPixels() {
32 ctx.shadowOffsetX = 250;
33 ctx.shadowColor = 'rgba(240, 50, 50, 1.0)';
34 ctx.drawImage(img, 50, 50);
35
36 ctx.shadowOffsetX = 250;
37 ctx.shadowBlur = 6;
38 ctx.shadowColor = 'rgba(50, 50, 200, 0.9)';
39 ctx.shadowColor = 'rgba(0, 0, 255, 1.0)';
40 ctx.drawImage(img, 50, 300);
41
42 checkPixels();
43 }
44
45 function checkPixels() {
46 test(function(t) {
47 var imageData, data;
48
49 // Verify solid shadow.
50 imageData = ctx.getImageData(260, 300, 1, 1);
51 d = imageData.data;
52 assert_equals(d[0], 0);
53 assert_equals(d[1], 0);
54 assert_equals(d[2], 0);
55 assert_equals(d[3], 0);
56
57 imageData = ctx.getImageData(350, 100, 1, 1);
58 d = imageData.data;
59 assert_equals(d[0], 240);
60 assert_equals(d[1], 50);
61 assert_equals(d[2], 50);
62 assert_equals(d[3], 255);
63
64 imageData = ctx.getImageData(400, 200, 1, 1);
65 d = imageData.data;
66 assert_equals(d[0], 240);
67 assert_equals(d[1], 50);
68 assert_equals(d[2], 50);
69 assert_equals(d[3], 255);
70
71 imageData = ctx.getImageData(490, 65, 1, 1);
72 d = imageData.data;
73 assert_equals(d[0], 0);
74 assert_equals(d[1], 0);
75 assert_equals(d[2], 0);
76 assert_equals(d[3], 0);
77
78 imageData = ctx.getImageData(485, 65, 1, 1);
79 d = imageData.data;
80 assert_equals(d[0], 0);
81 assert_equals(d[1], 0);
82 assert_equals(d[2], 0);
83 assert_equals(d[3], 0);
84
85 // Verify blurry shadow.
86 imageData = ctx.getImageData(260, 400, 1, 1);
87 d = imageData.data;
88 assert_equals(d[0], 0);
89 assert_equals(d[1], 0);
90 assert_equals(d[2], 0);
91 assert_equals(d[3], 0);
92
93 imageData = ctx.getImageData(350, 300, 1, 1);
94 d = imageData.data;
95 assert_equals(d[0], 0);
96 assert_equals(d[1], 0);
97 assert_equals(d[2], 255);
98 assert_not_equals(d[3], 255);
99
100 imageData = ctx.getImageData(300, 400, 1, 1);
101 d = imageData.data;
102 assert_equals(d[0], 0);
103 assert_equals(d[1], 0);
104 assert_equals(d[2], 255);
105 assert_not_equals(d[3], 255);
106
107 imageData = ctx.getImageData(300, 500, 1, 1);
108 d = imageData.data;
109 assert_equals(d[0], 0);
110 assert_equals(d[1], 0);
111 assert_equals(d[2], 255);
112 assert_not_equals(d[3], 255);
113
114 imageData = ctx.getImageData(400, 500, 1, 1);
115 d = imageData.data;
116 assert_equals(d[0], 0);
117 assert_equals(d[1], 0);
118 assert_equals(d[2], 255);
119 assert_not_equals(d[3], 255);
120
121 imageData = ctx.getImageData(400, 400, 1, 1);
122 d = imageData.data;
123 assert_equals(d[0], 0);
124 assert_equals(d[1], 0);
125 assert_equals(d[2], 255);
126
127 imageData = ctx.getImageData(490, 315, 1, 1);
128 d = imageData.data;
129 assert_equals(d[0], 0);
130 assert_equals(d[1], 0);
131 assert_equals(d[2], 0);
132 assert_equals(d[3], 0);
133
134 imageData = ctx.getImageData(485, 320, 1, 1);
135 d = imageData.data;
136 assert_equals(d[0], 0);
137 assert_equals(d[1], 0);
138 assert_equals(d[2], 0);
139 assert_equals(d[3], 0);
140
141 }, "Ensure correct behavior of canvas with image shadow. A square with a cut -out top-right corner should be displayed with solid shadow (top) and blur shado w (bottom).");
142 }
143 </script>
8 </body> 144 </body>
9 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698