| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <script src="../fast/js/resources/js-test-pre.js"></script> | 4 <script src="../fast/js/resources/js-test-pre.js"></script> |
| 5 <script src="resources/common.js"></script> | 5 <script src="resources/common.js"></script> |
| 6 </head> | 6 </head> |
| 7 <body> | 7 <body> |
| 8 <p id="description"></p> | 8 <p id="description"></p> |
| 9 <div id="console"></div> | 9 <div id="console"></div> |
| 10 | 10 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 | 48 |
| 49 function failHandler(value) | 49 function failHandler(value) |
| 50 { | 50 { |
| 51 testFailed(value); | 51 testFailed(value); |
| 52 startNextTest(); | 52 startNextTest(); |
| 53 } | 53 } |
| 54 | 54 |
| 55 allTests = [ | 55 allTests = [ |
| 56 function() | 56 function() |
| 57 { | 57 { |
| 58 debug("SHA1 of [] -- with empty process()") | 58 debug("SHA1 of []") |
| 59 op = crypto.subtle.digest({name: 'sha-1'}); | 59 crypto.subtle.digest({name: 'sha-1'}, new Uint8Array([])).then(resultHan
dler, rejectHandler); |
| 60 op.process(new Uint8Array([])); | |
| 61 op.finish().then(resultHandler, rejectHandler); | |
| 62 }, | |
| 63 | |
| 64 function() | |
| 65 { | |
| 66 debug("SHA1 of [] -- without calling process()") | |
| 67 op = crypto.subtle.digest({name: 'sha-1'}); | |
| 68 op.finish().then(resultHandler, rejectHandler); | |
| 69 }, | 60 }, |
| 70 | 61 |
| 71 function() | 62 function() |
| 72 { | 63 { |
| 73 debug("SHA1 of [0x0]") | 64 debug("SHA1 of [0x0]") |
| 74 op = crypto.subtle.digest({name: 'sha-1'}); | 65 crypto.subtle.digest({name: 'sha-1'}, new Uint8Array([0])).then(resultHa
ndler, rejectHandler); |
| 75 op.process(new Uint8Array([0])); | |
| 76 op.finish().then(resultHandler, rejectHandler); | |
| 77 }, | |
| 78 | |
| 79 function() | |
| 80 { | |
| 81 debug("SHA1 of [0x0] -- as an ArrayBuffer") | |
| 82 op = crypto.subtle.digest({name: 'sha-1'}); | |
| 83 op.process(new Uint8Array([0]).buffer); | |
| 84 op.finish().then(resultHandler, rejectHandler); | |
| 85 }, | |
| 86 | |
| 87 function() | |
| 88 { | |
| 89 debug("SHA1 of [0, 1, 2, 3, 4, 5] -- multipart") | |
| 90 op = crypto.subtle.digest({name: 'sha-1'}); | |
| 91 op.process(new Uint8Array([0])); | |
| 92 op.process(new Uint8Array([1])); | |
| 93 op.process(new Uint8Array([2])); | |
| 94 op.process(new Uint8Array([3])); | |
| 95 op.process(new Uint8Array([4])); | |
| 96 op.process(new Uint8Array([5])); | |
| 97 op.finish().then(resultHandler, rejectHandler); | |
| 98 }, | |
| 99 | |
| 100 function() | |
| 101 { | |
| 102 debug("Call process() after finish()"); | |
| 103 op = crypto.subtle.digest({name: 'sha-1'}); | |
| 104 op.finish().then(resultHandler, rejectHandler); | |
| 105 // These should all be no-ops, since has already finished. | |
| 106 op.process(new Uint8Array([0])); | |
| 107 op.process(new Uint8Array([1])); | |
| 108 op.process(new Uint8Array([2])); | |
| 109 op.process(new Uint8Array([3])); | |
| 110 }, | |
| 111 | |
| 112 function() | |
| 113 { | |
| 114 debug("abort()"); | |
| 115 op = crypto.subtle.digest({name: 'sha-1'}); | |
| 116 op.abort().then(resultHandler, rejectHandler); | |
| 117 }, | |
| 118 | |
| 119 function() | |
| 120 { | |
| 121 debug("abort() and then abort()"); | |
| 122 op = crypto.subtle.digest({name: 'sha-1'}); | |
| 123 op.abort().then(failHandler, function(value) { | |
| 124 rejectHandler(value, true); | |
| 125 op.abort().then(resultHandler, rejectHandler); | |
| 126 }); | |
| 127 }, | |
| 128 | |
| 129 function() | |
| 130 { | |
| 131 debug("process() and then abort()"); | |
| 132 op = crypto.subtle.digest({name: 'sha-1'}); | |
| 133 op.process(new Uint8Array([0])); | |
| 134 op.abort().then(resultHandler, rejectHandler); | |
| 135 }, | |
| 136 | |
| 137 function() | |
| 138 { | |
| 139 debug("finish() and then abort()"); | |
| 140 op = crypto.subtle.digest({name: 'sha-1'}); | |
| 141 op.finish().then(function(value) { | |
| 142 resultHandler(value, true); | |
| 143 op.abort().then(resultHandler, rejectHandler); | |
| 144 }, failHandler); | |
| 145 }, | |
| 146 | |
| 147 function() | |
| 148 { | |
| 149 debug("finish() and then process()"); | |
| 150 op = crypto.subtle.digest({name: 'sha-1'}); | |
| 151 op.finish().then(resultHandler, rejectHandler); | |
| 152 op.process(new Uint8Array([0])); | |
| 153 }, | |
| 154 | |
| 155 function() | |
| 156 { | |
| 157 debug("finish() and then finish()"); | |
| 158 op = crypto.subtle.digest({name: 'sha-1'}); | |
| 159 op.finish().then(function(value) { | |
| 160 resultHandler(value, true); | |
| 161 op.finish().then(resultHandler, rejectHandler); | |
| 162 }, failHandler); | |
| 163 }, | 66 }, |
| 164 | 67 |
| 165 function() | 68 function() |
| 166 { | 69 { |
| 167 debug("SHA-256 rejects (dummy implementation)"); | 70 debug("SHA-256 rejects (dummy implementation)"); |
| 168 op = crypto.subtle.digest({name: 'sha-256'}); | 71 crypto.subtle.digest({name: 'sha-256'}, new Uint8Array([])).then(resultH
andler, rejectHandler); |
| 169 op.finish().then(resultHandler, rejectHandler); | |
| 170 }, | 72 }, |
| 171 | 73 |
| 172 function() | 74 function() |
| 173 { | 75 { |
| 174 debug("Error during process() (dummy implementation rejects inputs over
6 bytes)"); | 76 debug("Error (dummy implementation rejects this input)"); |
| 175 op = crypto.subtle.digest({name: 'sha-1'}); | 77 var data = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); |
| 176 op.process(new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])); | 78 crypto.subtle.digest({name: 'sha-1'}, data).then(resultHandler, rejectHa
ndler); |
| 177 op.finish().then(resultHandler, rejectHandler); | |
| 178 }, | 79 }, |
| 179 | 80 |
| 180 function() | 81 function() |
| 181 { | 82 { |
| 182 op = crypto.subtle.digest({name: 'sha-1'}); | 83 shouldThrow("crypto.subtle.digest({name: 'sha-1'})"); |
| 183 shouldThrow("op.process(null)"); | 84 shouldThrow("crypto.subtle.digest({name: 'sha-1'}, null)"); |
| 184 shouldThrow("op.process()"); | 85 shouldThrow("crypto.subtle.digest({name: 'sha-1'}, 10)"); |
| 185 shouldThrow("op.process(-1)"); | |
| 186 startNextTest(); | 86 startNextTest(); |
| 187 }, | 87 }, |
| 188 ]; | 88 ]; |
| 189 | 89 |
| 190 // Begin! | 90 // Begin! |
| 191 startNextTest(); | 91 startNextTest(); |
| 192 | 92 |
| 193 </script> | 93 </script> |
| 194 | 94 |
| 195 <script src="../fast/js/resources/js-test-post.js"></script> | 95 <script src="../fast/js/resources/js-test-post.js"></script> |
| 196 </body> | 96 </body> |
| 197 </html> | 97 </html> |
| OLD | NEW |