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

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

Issue 2675763005: Use testharness.js instead of js-test.js in LayoutTests/fast/canvas tests. (Closed)
Patch Set: Corrections 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-createPattern-fillRect-shadow.js"></script> 4 <script>
5
6 // Create auxiliary canvas to draw to and create an image from.
7 // This is done instead of simply loading an image from the file system
8 // because that would throw a SECURITY_ERR DOM Exception.
9 var aCanvas = document.createElement('canvas');
10 aCanvas.setAttribute('width', '200');
11 aCanvas.setAttribute('height', '200');
12 var aCtx = aCanvas.getContext('2d');
13
14 // Draw a circle on the same canvas.
15 aCtx.beginPath();
16 aCtx.fillStyle = 'blue';
17 aCtx.arc(100, 100, 100, 0, Math.PI*2, false);
18 aCtx.fill();
19
20 // Create the image object to be drawn on the master canvas.
21 var img = new Image();
22 img.onload = drawImageToCanvasAndCheckPixels;
23 img.src = aCanvas.toDataURL(); // set a data URI of the base64 encoded image as the source
24
25 // Create master canvas.
26 var canvas = document.createElement('canvas');
27 document.body.appendChild(canvas);
28 canvas.setAttribute('width', '700');
29 canvas.setAttribute('height', '1100');
30 var ctx = canvas.getContext('2d');
31
32 function drawImageToCanvasAndCheckPixels() {
33 ctx.shadowOffsetX = 250;
34 ctx.fillStyle = ctx.createPattern(img, 'repeat');
35
36 ctx.shadowColor = 'rgba(255, 0, 0, 1.0)';
37 ctx.fillRect(50, 50, 200, 200);
38
39 ctx.shadowColor = 'rgba(255, 0, 0, 0.2)';
40 ctx.fillRect(50, 300, 200, 200);
41
42 ctx.shadowBlur = 10;
43 ctx.shadowColor = 'rgba(255, 0, 0, 1.0)';
44 ctx.fillRect(50, 550, 200, 200);
45
46 ctx.shadowColor = 'rgba(255, 0, 0, 0.2)';
47 ctx.fillRect(50, 800, 200, 200);
48
49 checkPixels();
50 }
51
52 function checkPixels() {
53 test(function(t) {
Justin Novosad 2017/02/08 18:23:33 The test hraness may terminate before this is reac
zakerinasab 2017/02/08 19:57:49 Done.
54 var imageData, data;
55
56 // Verify solid shadow.
57 imageData = ctx.getImageData(300, 50, 1, 1);
58 d = imageData.data;
59 assert_equals(d[0], 255);
60 assert_equals(d[1], 0);
61 assert_equals(d[2], 0);
62 assert_equals(d[3], 255);
63
64 imageData = ctx.getImageData(300, 249, 1, 1);
65 d = imageData.data;
66 assert_equals(d[0], 255);
67 assert_equals(d[1], 0);
68 assert_equals(d[2], 0);
69 assert_equals(d[3], 255);
70
71 imageData = ctx.getImageData(490, 240, 1, 1);
72 d = imageData.data;
73 assert_equals(d[0], 255);
74 assert_equals(d[1], 0);
75 assert_equals(d[2], 0);
76 assert_equals(d[3], 255);
77
78 // Verify solid alpha shadow.
79 imageData = ctx.getImageData(310, 350, 1, 1);
80 d = imageData.data;
81 assert_equals(d[0], 255);
82 assert_equals(d[1], 0);
83 assert_equals(d[2], 0);
84 assert_approx_equals(d[3], 51, 10);
85
86 imageData = ctx.getImageData(490, 490, 1, 1);
87 d = imageData.data;
88 assert_equals(d[0], 255);
89 assert_equals(d[1], 0);
90 assert_equals(d[2], 0);
91 assert_approx_equals(d[3], 51, 10);
92
93 imageData = ctx.getImageData(300, 499, 1, 1);
94 d = imageData.data;
95 assert_equals(d[0], 255);
96 assert_equals(d[1], 0);
97 assert_equals(d[2], 0);
98 assert_approx_equals(d[3], 51, 10);
99
100 // Verify blurry shadow.
101 imageData = ctx.getImageData(310, 550, 1, 1);
102 d = imageData.data;
103 assert_equals(d[0], 255);
104 assert_equals(d[1], 0);
105 assert_equals(d[2], 0);
106 assert_approx_equals(d[3], 141, 10);
107
108 imageData = ctx.getImageData(490, 750, 1, 1);
109 d = imageData.data;
110 assert_equals(d[0], 255);
111 assert_equals(d[1], 0);
112 assert_equals(d[2], 0);
113 assert_approx_equals(d[3], 113, 10);
114
115 imageData = ctx.getImageData(499, 499, 1, 1);
116 d = imageData.data;
117 assert_equals(d[0], 255);
118 assert_equals(d[1], 0);
119 assert_equals(d[2], 0);
120 assert_approx_equals(d[3], 51, 10);
121
122 // Verify blurry alpha shadow.
123 imageData = ctx.getImageData(300, 850, 1, 1);
124 d = imageData.data;
125 assert_equals(d[0], 255);
126 assert_equals(d[1], 0);
127 assert_equals(d[2], 0);
128 assert_approx_equals(d[3], 29, 10);
129
130 imageData = ctx.getImageData(500, 875, 1, 1);
131 d = imageData.data;
132 assert_equals(d[0], 255);
133 assert_equals(d[1], 0);
134 assert_equals(d[2], 0);
135 assert_approx_equals(d[3], 23, 10);
136
137 imageData = ctx.getImageData(300, 900, 1, 1);
138 d = imageData.data;
139 assert_equals(d[0], 255);
140 assert_equals(d[1], 0);
141 assert_equals(d[2], 0);
142 assert_approx_equals(d[3], 29, 10);
143 }, "Ensure correct behavior of canvas with createPattern + fillRect with sha dow.");
144 }
145
146 window.jsTestIsAsync = true;
Justin Novosad 2017/02/08 18:23:33 This is no longer relevant.
zakerinasab 2017/02/08 19:57:50 Done.
147 </script>
8 </body> 148 </body>
9 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698