| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // Library tag to allow Dartium to run the tests. | 5 // Library tag to allow Dartium to run the tests. |
| 6 library sha256_test; | 6 library sha256_test; |
| 7 | 7 |
| 8 import "package:expect/expect.dart"; | 8 import "package:expect/expect.dart"; |
| 9 import "package:crypto/crypto.dart"; | 9 import "package:crypto/crypto.dart"; |
| 10 | 10 |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 var hash = new SHA256(); | 282 var hash = new SHA256(); |
| 283 hash.add(createTestArr(i)); | 283 hash.add(createTestArr(i)); |
| 284 var d = hash.close(); | 284 var d = hash.close(); |
| 285 Expect.equals(expected_values[i], CryptoUtils.bytesToHex(d), '$i'); | 285 Expect.equals(expected_values[i], CryptoUtils.bytesToHex(d), '$i'); |
| 286 } | 286 } |
| 287 } | 287 } |
| 288 | 288 |
| 289 void testInvalidUse() { | 289 void testInvalidUse() { |
| 290 var sha = new SHA256(); | 290 var sha = new SHA256(); |
| 291 sha.close(); | 291 sha.close(); |
| 292 Expect.throws(() => sha.add([0]), (e) => e is HashException); | 292 Expect.throws(() => sha.add([0]), (e) => e is StateError); |
| 293 } | 293 } |
| 294 | 294 |
| 295 void testRepeatedDigest() { | 295 void testRepeatedDigest() { |
| 296 var sha = new SHA256(); | 296 var sha = new SHA256(); |
| 297 var digest = sha.close(); | 297 var digest = sha.close(); |
| 298 Expect.listEquals(digest, sha.close()); | 298 Expect.listEquals(digest, sha.close()); |
| 299 } | 299 } |
| 300 | 300 |
| 301 void testStandardVectors(inputs, mds) { | 301 void testStandardVectors(inputs, mds) { |
| 302 for (var i = 0; i < inputs.length; i++) { | 302 for (var i = 0; i < inputs.length; i++) { |
| 303 var hash = new SHA256(); | 303 var hash = new SHA256(); |
| 304 hash.add(inputs[i]); | 304 hash.add(inputs[i]); |
| 305 var d = hash.close(); | 305 var d = hash.close(); |
| 306 Expect.equals(mds[i], CryptoUtils.bytesToHex(d), '$i'); | 306 Expect.equals(mds[i], CryptoUtils.bytesToHex(d), '$i'); |
| 307 } | 307 } |
| 308 } | 308 } |
| 309 | 309 |
| 310 void main() { | 310 void main() { |
| 311 test(); | 311 test(); |
| 312 testInvalidUse(); | 312 testInvalidUse(); |
| 313 testRepeatedDigest(); | 313 testRepeatedDigest(); |
| 314 testStandardVectors(sha256_long_inputs, sha256_long_mds); | 314 testStandardVectors(sha256_long_inputs, sha256_long_mds); |
| 315 testStandardVectors(sha256_short_inputs, sha256_short_mds); | 315 testStandardVectors(sha256_short_inputs, sha256_short_mds); |
| 316 } | 316 } |
| 317 | 317 |
| OLD | NEW |