Chromium Code Reviews| 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 |