1#!perl -w 2 3use strict; 4use warnings; 5use Test qw(plan ok); 6 7plan tests => 129; 8 9use MIME::Base64 qw(encode_base64 encoded_base64_length decoded_base64_length); 10*elen = *encoded_base64_length; 11*dlen = *decoded_base64_length; 12 13ok(elen(""), 0); 14ok(elen("a"), 5); 15ok(elen("aa"), 5); 16ok(elen("aaa"), 5); 17ok(elen("aaaa"), 9); 18ok(elen("aaaaa"), 9); 19 20ok(elen("", ""), 0); 21ok(elen("a", ""), 4); 22ok(elen("aa", ""), 4); 23ok(elen("aaa", ""), 4); 24ok(elen("aaaa", ""), 8); 25ok(elen("aaaaa", ""), 8); 26 27ok(dlen(""), 0); 28ok(dlen("a"), 0); 29ok(dlen("aa"), 1); 30ok(dlen("aaa"), 2); 31ok(dlen("aaaa"), 3); 32ok(dlen("aaaaa"), 3); 33ok(dlen("aaaaaa"), 4); 34ok(dlen("aaaaaaa"), 5); 35ok(dlen("aaaaaaaa"), 6); 36 37ok(dlen("=aaaa"), 0); 38ok(dlen("a=aaa"), 0); 39ok(dlen("aa=aa"), 1); 40ok(dlen("aaa=a"), 2); 41ok(dlen("aaaa="), 3); 42 43ok(dlen("a\na\na a"), 3); 44 45for my $i (50..100) { 46 my $a = "a" x $i; 47 my $a_enc = encode_base64($a); 48 ok(elen($a), length($a_enc)); 49 ok(dlen($a_enc), $i); 50} 51