| 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 | 
|---|