Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: tests/lib/src/crypto/sha256_test.dart

Issue 10170027: Implement HMAC support in lib/crypto. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address first round of review comments. Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 // TODO(ager): Replace with "dart:crypto" when ready. 5 // TODO(ager): Replace with "dart:crypto" when ready.
6 #import("../../../../lib/crypto/crypto.dart"); 6 #import("../../../../lib/crypto/crypto.dart");
7 7
8 #source('sha256_long_test_vectors.dart'); 8 #source('sha256_long_test_vectors.dart');
9 #source('sha256_short_test_vectors.dart'); 9 #source('sha256_short_test_vectors.dart');
10 10
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 285
286 for (var i = 0; i < expected_values.length; i++) { 286 for (var i = 0; i < expected_values.length; i++) {
287 var d = new SHA256().update(createTestArr(i)).digest(); 287 var d = new SHA256().update(createTestArr(i)).digest();
288 Expect.equals(expected_values[i], digestToString(d), '$i'); 288 Expect.equals(expected_values[i], digestToString(d), '$i');
289 } 289 }
290 } 290 }
291 291
292 void testInvalidUse() { 292 void testInvalidUse() {
293 var sha = new SHA256(); 293 var sha = new SHA256();
294 sha.digest(); 294 sha.digest();
295 Expect.throws(sha.digest, 295 Expect.throws(() => sha.update([0]), (e) => e is HashException);
296 (e) => e is CryptoHashException); 296 }
297 Expect.throws(() => sha.update([0]), 297
298 (e) => e is CryptoHashException); 298 void testRepeatedDigest() {
299 var sha = new SHA256();
300 var digest = sha.digest();
301 Expect.listEquals(digest, sha.digest());
299 } 302 }
300 303
301 void testStandardVectors(inputs, mds) { 304 void testStandardVectors(inputs, mds) {
302 for (var i = 0; i < inputs.length; i++) { 305 for (var i = 0; i < inputs.length; i++) {
303 var d = new SHA256().update(inputs[i]).digest(); 306 var d = new SHA256().update(inputs[i]).digest();
304 Expect.equals(mds[i], digestToString(d), '$i'); 307 Expect.equals(mds[i], digestToString(d), '$i');
305 } 308 }
306 } 309 }
307 310
308 void main() { 311 void main() {
309 test(); 312 test();
310 testInvalidUse(); 313 testInvalidUse();
314 testRepeatedDigest();
311 testStandardVectors(sha256_long_inputs, sha256_long_mds); 315 testStandardVectors(sha256_long_inputs, sha256_long_mds);
312 testStandardVectors(sha256_short_inputs, sha256_short_mds); 316 testStandardVectors(sha256_short_inputs, sha256_short_mds);
313 } 317 }
314 318
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698