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

Unified Diff: tests/lib/crypto/base64_test.dart

Issue 10456028: Add base 64 encoding to the crypto library utils. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/crypto/crypto_vm.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/lib/crypto/base64_test.dart
diff --git a/tests/lib/crypto/base64_test.dart b/tests/lib/crypto/base64_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..fd01871c3c4a2582af4ac2b3f35cde21eaf1053e
--- /dev/null
+++ b/tests/lib/crypto/base64_test.dart
@@ -0,0 +1,55 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Library tag to allow the test to run on Dartium.
+#library('base64_test');
+
+#import("dart:crypto");
+
+// Data from http://tools.ietf.org/html/rfc4648.
+var inputs =
+ const [ '', 'f', 'fo', 'foo', 'foob', 'fooba', 'foobar' ];
+var results =
+ const [ '', 'Zg==', 'Zm8=', 'Zm9v', 'Zm9vYg==', 'Zm9vYmE=', 'Zm9vYmFy' ];
+
+var longLine =
+ "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 =
+ "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbm"
+ "x5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz\r\n"
+ "IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlci"
+ "BhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg\r\n"
+ "dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcm"
+ "FuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu\r\n"
+ "dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYX"
+ "Rpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo\r\n"
+ "ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm"
+ "5hbCBwbGVhc3VyZS4=";
+
+var longLineResultNoBreak =
+ "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbm"
+ "x5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz"
+ "IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlci"
+ "BhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg"
+ "dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcm"
+ "FuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu"
+ "dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYX"
+ "Rpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo"
+ "ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm"
+ "5hbCBwbGVhc3VyZS4=";
+
+void main() {
+ for (var i = 0; i < inputs.length; i++) {
+ var enc = CryptoUtils.bytesToBase64(inputs[i].charCodes());
+ Expect.equals(results[i], enc);
+ }
+ Expect.equals(CryptoUtils.bytesToBase64(longLine.charCodes(), 76),
+ longLineResult);
+ Expect.equals(CryptoUtils.bytesToBase64(longLine.charCodes()),
+ longLineResultNoBreak);
+}
« no previous file with comments | « lib/crypto/crypto_vm.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698