OLD | NEW |
---|---|
(Empty) | |
1 <!DOCTYPE html> | |
2 <meta charset=utf-8> | |
3 <meta name="timeout" content="long"> | |
4 <title>img.decode()</title> | |
5 <link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> | |
6 <link rel=help href=""> | |
7 <script src="/resources/testharness.js"></script> | |
8 <script src="/resources/testharnessreport.js"></script> | |
9 <div id="log"></div> | |
10 | |
11 <script> | |
12 "use strict"; | |
13 | |
14 // src tests | |
15 // ------------------- | |
16 // Basic src png decode success test. | |
17 promise_test(function() { | |
domenic
2017/03/27 10:24:20
These test messages and/or the comments above each
| |
18 var message = "PNG Image must be decoded with undefined."; | |
19 | |
20 var img = new Image(); | |
21 img.src = "/images/green.png"; | |
22 return img.decode().then(function(arg) { | |
23 assert_equals(arg, undefined, message); | |
24 }); | |
25 }); | |
26 | |
27 // Basic src svg decode success test. | |
28 promise_test(function() { | |
29 var message = "SVG Image must be decoded with undefined."; | |
30 | |
31 var img = new Image(); | |
32 img.src = "/images/green.svg"; | |
33 return img.decode().then(function(arg) { | |
34 assert_equals(arg, undefined, message); | |
35 }); | |
36 }); | |
37 | |
38 // Non existent path failure. | |
39 promise_test(function(t) { | |
40 var img = new Image(); | |
41 img.src = "/non/existent/path.png"; | |
42 var promise = img.decode(); | |
43 return promise_rejects(t, "EncodingError", promise); | |
44 }); | |
45 | |
46 // src-less decode failure. | |
47 promise_test(function(t) { | |
48 var img = new Image(); | |
49 var promise = img.decode(); | |
50 return promise_rejects(t, "EncodingError", promise); | |
51 }); | |
52 | |
53 // src changes causes a decode failure. | |
54 promise_test(function(t) { | |
55 var img = new Image(); | |
56 img.src = "/images/green.png"; | |
57 var promise = img.decode(); | |
58 img.src = "/images/green.svg"; | |
59 return promise_rejects(t, "EncodingError", promise); | |
60 }); | |
61 | |
62 // src changes causes a decode failure, following good decodes succeed. | |
63 promise_test(function(t) { | |
64 var img = new Image(); | |
65 img.src = "/images/green.png"; | |
66 var first_promise = img.decode(); | |
67 img.src = "/images/green.svg"; | |
68 var second_promise = img.decode(); | |
69 assert_true(first_promise !== second_promise); | |
70 return Promise.all([ | |
71 promise_rejects(t, "EncodingError", first_promise), | |
72 second_promise | |
73 ]); | |
74 }); | |
75 | |
76 // src changes causes a decode failure, following bad decodes also fail. | |
77 promise_test(function(t) { | |
78 var img = new Image(); | |
79 img.src = "/images/green.png"; | |
80 var first_promise = img.decode(); | |
81 img.src = "/non/existent/path.png"; | |
82 var second_promise = img.decode(); | |
83 assert_true(first_promise !== second_promise); | |
84 return Promise.all([ | |
85 promise_rejects(t, "EncodingError", first_promise), | |
86 promise_rejects(t, "EncodingError", second_promise) | |
87 ]); | |
88 }); | |
89 | |
90 // src changes to the same path succeed. | |
91 promise_test(function(t) { | |
92 var img = new Image(); | |
93 img.src = "/images/green.png"; | |
94 var first_promise = img.decode(); | |
95 img.src = "/images/green.png"; | |
96 var second_promise = img.decode(); | |
97 assert_true(first_promise !== second_promise); | |
98 return Promise.all([ | |
99 first_promise, | |
100 second_promise | |
101 ]); | |
102 }); | |
103 | |
104 // Multiple decodes all succeed. | |
105 promise_test(function(t) { | |
106 var img = new Image(); | |
107 img.src = "/images/green.png"; | |
108 var first_promise = img.decode(); | |
109 var second_promise = img.decode(); | |
110 assert_true(first_promise !== second_promise); | |
111 return Promise.all([ | |
112 first_promise, | |
113 second_promise | |
114 ]); | |
115 }); | |
116 | |
117 // srcset tests | |
118 // ------------------- | |
119 // Basic srcset png decode success test. | |
120 promise_test(function() { | |
121 var message = "PNG Image must be decoded with undefined."; | |
122 | |
123 var img = new Image(); | |
124 img.srcset = "/images/green.png 100w"; | |
125 return img.decode().then(function(arg) { | |
126 assert_equals(arg, undefined, message); | |
127 }); | |
128 }); | |
129 | |
130 // Basic srcset svg decode success test. | |
131 promise_test(function() { | |
132 var message = "SVG Image must be decoded with undefined."; | |
133 | |
134 var img = new Image(); | |
135 img.srcset = "/images/green.svg 100w"; | |
136 return img.decode().then(function(arg) { | |
137 assert_equals(arg, undefined, message); | |
138 }); | |
139 }); | |
140 | |
141 // Non existent path failure. | |
142 promise_test(function(t) { | |
143 var img = new Image(); | |
144 img.srcset = "/non/existent/path.png 100w"; | |
145 var promise = img.decode(); | |
146 return promise_rejects(t, "EncodingError", promise); | |
147 }); | |
148 | |
149 // srcset changes causes a decode failure. | |
150 promise_test(function(t) { | |
151 var img = new Image(); | |
152 img.srcset = "/images/green.png 100w"; | |
153 var promise = img.decode(); | |
154 img.srcset = "/images/green.svg 100w"; | |
155 return promise_rejects(t, "EncodingError", promise); | |
156 }); | |
157 | |
158 // srcset changes causes a decode failure, following good decodes succeed. | |
159 promise_test(function(t) { | |
160 var img = new Image(); | |
161 img.srcset = "/images/green.png 100w"; | |
162 var first_promise = img.decode(); | |
163 img.srcset = "/images/green.svg 100w"; | |
164 var second_promise = img.decode(); | |
165 assert_true(first_promise !== second_promise); | |
166 return Promise.all([ | |
167 promise_rejects(t, "EncodingError", first_promise), | |
168 second_promise | |
169 ]); | |
170 }); | |
171 | |
172 // srcset changes causes a decode failure, following bad decodes also fail. | |
173 promise_test(function(t) { | |
174 var img = new Image(); | |
175 img.srcset = "/images/green.png 100w"; | |
176 var first_promise = img.decode(); | |
177 img.srcset = "/non/existent/path.png 100w"; | |
178 var second_promise = img.decode(); | |
179 assert_true(first_promise !== second_promise); | |
180 return Promise.all([ | |
181 promise_rejects(t, "EncodingError", first_promise), | |
182 promise_rejects(t, "EncodingError", second_promise) | |
183 ]); | |
184 }); | |
185 | |
186 // srcset changes to the same path succeed. | |
187 promise_test(function(t) { | |
188 var img = new Image(); | |
189 img.srcset = "/images/green.png 100w"; | |
190 var first_promise = img.decode(); | |
191 img.srcset = "/images/green.png 100w"; | |
192 var second_promise = img.decode(); | |
193 assert_true(first_promise !== second_promise); | |
194 return Promise.all([ | |
195 first_promise, | |
196 second_promise | |
197 ]); | |
198 }); | |
199 | |
200 // Multiple decodes all succeed. | |
201 promise_test(function(t) { | |
202 var img = new Image(); | |
203 img.srcset = "/images/green.png 100w"; | |
204 var first_promise = img.decode(); | |
205 var second_promise = img.decode(); | |
206 assert_true(first_promise !== second_promise); | |
207 return Promise.all([ | |
208 first_promise, | |
209 second_promise | |
210 ]); | |
211 }); | |
212 | |
213 </script> | |
OLD | NEW |