blob: a20fd204e34d307015e0c80ff6cf37be148ac52c [file] [log] [blame]
// 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.
part "../../../sdk/lib/io/base64.dart";
void main() {
String line;
String expected;
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.";
expected =
"TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbm"
"x5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz\r\n"
"IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlci"
"BhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg\r\n"
"dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcm"
"FuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu\r\n"
"dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYX"
"Rpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo\r\n"
"ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm"
"5hbCBwbGVhc3VyZS4=";
Expect.equals(expected, _Base64._encode(line.charCodes));
Expect.listEquals(line.charCodes, _Base64._decode(expected));
line = "Simple string";
expected = "U2ltcGxlIHN0cmluZw==";
Expect.equals(expected, _Base64._encode(line.charCodes));
Expect.listEquals(line.charCodes, _Base64._decode(expected));
for (int i = 0; i < 256; i++) {
List<int> x = [i];
Expect.listEquals(x, _Base64._decode(_Base64._encode(x)));
}
for (int i = 0; i < 255; i++) {
List<int> x = [i, i + 1];
Expect.listEquals(x, _Base64._decode(_Base64._encode(x)));
}
for (int i = 0; i < 254; i++) {
List<int> x = [i, i + 1, i + 2];
Expect.listEquals(x, _Base64._decode(_Base64._encode(x)));
}
for (int i = 0; i < 253; i++) {
List<int> x = [i, i + 1, i + 2, i + 3];
Expect.listEquals(x, _Base64._decode(_Base64._encode(x)));
}
for (int i = 0; i < 252; i++) {
List<int> x = [i, i + 1, i + 2, i + 3, i + 4];
Expect.listEquals(x, _Base64._decode(_Base64._encode(x)));
}
for (int i = 0; i < 251; i++) {
List<int> x = [i, i + 1, i + 2, i + 3, i + 4, i + 5];
Expect.listEquals(x, _Base64._decode(_Base64._encode(x)));
}
for (int i = 0; i < 250; i++) {
List<int> x = [i, i + 1, i + 2, i + 3, i + 4, i + 5, i + 6];
Expect.listEquals(x, _Base64._decode(_Base64._encode(x)));
}
}