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