Index: pkg/crypto/test/base64_test.dart |
diff --git a/pkg/crypto/test/base64_test.dart b/pkg/crypto/test/base64_test.dart |
index 9a58e3b27fa67a0f34a55be487d9c1e620139252..4215af99efc99138c382ba5781bb4fc7942b2ac6 100644 |
--- a/pkg/crypto/test/base64_test.dart |
+++ b/pkg/crypto/test/base64_test.dart |
@@ -5,27 +5,37 @@ |
// Library tag to allow the test to run on Dartium. |
library base64_test; |
-import "package:expect/expect.dart"; |
-import "package:crypto/crypto.dart"; |
import 'dart:math'; |
+import "package:crypto/crypto.dart"; |
+import "package:unittest/unittest.dart"; |
+ |
+void main() { |
+ test('encoder', _testEncoder); |
+ test('decoder', _testDecoder); |
+ test('decoder for malformed input', _testDecoderForMalformedInput); |
+ test('encode decode lists', _testEncodeDecodeLists); |
+ test('url safe encode-decode', _testUrlSafeEncodeDecode); |
+ test('performance', _testPerformance); |
+} |
+ |
// Data from http://tools.ietf.org/html/rfc4648. |
-var inputs = |
+const _INPUTS = |
const [ '', 'f', 'fo', 'foo', 'foob', 'fooba', 'foobar']; |
-var results = |
+const _RESULTS = |
const [ '', 'Zg==', 'Zm8=', 'Zm9v', 'Zm9vYg==', 'Zm9vYmE=', 'Zm9vYmFy']; |
// Test data with only zeroes. |
var inputsWithZeroes = [[0, 0, 0], [0, 0], [0], []]; |
-var resultsWithZeroes = ['AAAA', 'AAA=', 'AA==', '']; |
+const _RESULTS_WITH_ZEROS = const ['AAAA', 'AAA=', 'AA==', '']; |
-var longLine = |
+const _LONG_LINE = |
"Man is distinguished, not only by his reason, but by this singular " |
"passion from other animals, which is a lust of the mind, that by a " |
"perseverance of delight in the continued and indefatigable generation " |
"of knowledge, exceeds the short vehemence of any carnal pleasure."; |
-var longLineResult = |
+const _LONG_LINE_RESULT = |
"TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbm" |
"x5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz\r\n" |
"IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlci" |
@@ -37,7 +47,7 @@ var longLineResult = |
"ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm" |
"5hbCBwbGVhc3VyZS4="; |
-var longLineResultNoBreak = |
+const _LONG_LINE_RESULT_NO_BREAK = |
"TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbm" |
"x5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz" |
"IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlci" |
@@ -49,55 +59,57 @@ var longLineResultNoBreak = |
"ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm" |
"5hbCBwbGVhc3VyZS4="; |
-testEncoder() { |
- for (var i = 0; i < inputs.length; i++) { |
- Expect.equals(results[i], CryptoUtils.bytesToBase64(inputs[i].codeUnits)); |
+void _testEncoder() { |
+ for (var i = 0; i < _INPUTS.length; i++) { |
+ expect(CryptoUtils.bytesToBase64(_INPUTS[i].codeUnits), _RESULTS[i]); |
} |
for (var i = 0; i < inputsWithZeroes.length; i++) { |
- Expect.equals(resultsWithZeroes[i], |
- CryptoUtils.bytesToBase64(inputsWithZeroes[i])); |
+ expect(CryptoUtils.bytesToBase64(inputsWithZeroes[i]), |
+ _RESULTS_WITH_ZEROS[i]); |
} |
- Expect.equals( |
- CryptoUtils.bytesToBase64(longLine.codeUnits, addLineSeparator : true), |
- longLineResult); |
- Expect.equals(CryptoUtils.bytesToBase64(longLine.codeUnits), |
- longLineResultNoBreak); |
+ expect( |
+ CryptoUtils.bytesToBase64(_LONG_LINE.codeUnits, addLineSeparator : true), |
+ _LONG_LINE_RESULT); |
+ expect(CryptoUtils.bytesToBase64(_LONG_LINE.codeUnits), |
+ _LONG_LINE_RESULT_NO_BREAK); |
} |
-testDecoder() { |
- for (var i = 0; i < results.length; i++) { |
- Expect.equals(inputs[i], |
- new String.fromCharCodes(CryptoUtils.base64StringToBytes(results[i]))); |
+void _testDecoder() { |
+ for (var i = 0; i < _RESULTS.length; i++) { |
+ expect( |
+ new String.fromCharCodes(CryptoUtils.base64StringToBytes(_RESULTS[i])), |
+ _INPUTS[i]); |
} |
- for (var i = 0; i < resultsWithZeroes.length; i++) { |
- Expect.listEquals(inputsWithZeroes[i], |
- CryptoUtils.base64StringToBytes(resultsWithZeroes[i])); |
+ for (var i = 0; i < _RESULTS_WITH_ZEROS.length; i++) { |
+ expect(CryptoUtils.base64StringToBytes(_RESULTS_WITH_ZEROS[i]), |
+ inputsWithZeroes[i]); |
} |
- var longLineDecoded = CryptoUtils.base64StringToBytes(longLineResult); |
- Expect.equals(new String.fromCharCodes(longLineDecoded), longLine); |
- var longLineResultNoBreak = CryptoUtils.base64StringToBytes(longLineResult); |
- Expect.equals(new String.fromCharCodes(longLineResultNoBreak), longLine); |
+ var longLineDecoded = CryptoUtils.base64StringToBytes(_LONG_LINE_RESULT); |
+ expect(new String.fromCharCodes(longLineDecoded), _LONG_LINE); |
+ var longLineResultNoBreak = |
+ CryptoUtils.base64StringToBytes(_LONG_LINE_RESULT); |
+ expect(new String.fromCharCodes(longLineResultNoBreak), _LONG_LINE); |
} |
-testDecoderForMalformedInput() { |
- Expect.throws(() { |
- CryptoUtils.base64StringToBytes('AB~'); |
- }, (e) => e is FormatException); |
+void _testDecoderForMalformedInput() { |
+ expect(() { |
+ CryptoUtils.base64StringToBytes('AB~'); |
+ }, throwsFormatException); |
- Expect.throws(() { |
+ expect(() { |
CryptoUtils.base64StringToBytes('A'); |
- }, (e) => e is FormatException); |
+ }, throwsFormatException); |
} |
-testUrlSafeEncodeDecode() { |
+void _testUrlSafeEncodeDecode() { |
List<int> decUrlSafe = CryptoUtils.base64StringToBytes('-_A='); |
List<int> dec = CryptoUtils.base64StringToBytes('+/A='); |
- Expect.listEquals(decUrlSafe, dec); |
- Expect.equals('-_A=', CryptoUtils.bytesToBase64(dec, urlSafe: true)); |
- Expect.equals('+/A=', CryptoUtils.bytesToBase64(dec)); |
+ expect(decUrlSafe, dec); |
+ expect(CryptoUtils.bytesToBase64(dec, urlSafe: true), '-_A='); |
+ expect(CryptoUtils.bytesToBase64(dec), '+/A='); |
} |
-testEncodeDecodeLists() { |
+void _testEncodeDecodeLists() { |
for (int i = 0; i < 10; i++) { |
for (int j = 0; j < 256 - i; j++) { |
List<int> x = new List<int>(i); |
@@ -106,22 +118,22 @@ testEncodeDecodeLists() { |
} |
var enc = CryptoUtils.bytesToBase64(x); |
var dec = CryptoUtils.base64StringToBytes(enc); |
- Expect.listEquals(x, dec); |
+ expect(dec, x); |
} |
} |
} |
-fillRandom(List<int> l) { |
+void _fillRandom(List<int> l) { |
var random = new Random(0xBABE); |
- for(int j=0; j < l.length; j++) { |
+ for (int j = 0; j < l.length; j++) { |
l[j] = random.nextInt(255); |
} |
} |
-testPerformance() { |
+void _testPerformance() { |
var l = new List<int>(1024); |
var iters = 5000; |
- fillRandom(l); |
+ _fillRandom(l); |
String enc; |
var w = new Stopwatch()..start(); |
for( int i = 0; i < iters; ++i ) { |
@@ -139,12 +151,3 @@ testPerformance() { |
// print('''Decode into ${l.length} bytes for $iters |
// times: $ms msec. $perSec b/s'''); |
} |
- |
-void main() { |
- testEncoder(); |
- testDecoder(); |
- testDecoderForMalformedInput(); |
- testEncodeDecodeLists(); |
- testUrlSafeEncodeDecode(); |
- testPerformance(); |
-} |