1b39c5158Smillert# 2*3d61058aSafresh1# $Id: Encoder.t,v 2.2 2023/11/10 01:10:50 dankogai Exp $ 3b39c5158Smillert# 4b39c5158Smillert 5b39c5158SmillertBEGIN { 6*3d61058aSafresh1 require Config; Config->import(); 7b39c5158Smillert if ($Config{'extensions'} !~ /\bEncode\b/) { 8b39c5158Smillert print "1..0 # Skip: Encode was not built\n"; 9b39c5158Smillert exit 0; 10b39c5158Smillert } 11b39c5158Smillert $| = 1; 12b39c5158Smillert} 13b39c5158Smillert 14b39c5158Smillertuse strict; 15b39c5158Smillert#use Test::More 'no_plan'; 16b39c5158Smillertuse Test::More tests => 516; 17b39c5158Smillertuse Encode::Encoder qw(encoder); 18b39c5158Smillertuse MIME::Base64; 19b39c5158Smillertpackage Encode::Base64; 20e5157e49Safresh1use parent 'Encode::Encoding'; 21b39c5158Smillert__PACKAGE__->Define('base64'); 22b39c5158Smillertuse MIME::Base64; 23b39c5158Smillertsub encode{ 24b39c5158Smillert my ($obj, $data) = @_; 25b39c5158Smillert return encode_base64($data); 26b39c5158Smillert} 27b39c5158Smillertsub decode{ 28b39c5158Smillert my ($obj, $data) = @_; 29b39c5158Smillert return decode_base64($data); 30b39c5158Smillert} 31b39c5158Smillert 32b39c5158Smillertpackage main; 33b39c5158Smillert 34b39c5158Smillertmy $e = encoder("foo", "ascii"); 35b39c5158Smillertok ($e->data("bar")); 36b39c5158Smillertis ($e->data, "bar"); 37b39c5158Smillertok ($e->encoding("latin1")); 38b39c5158Smillertis ($e->encoding, "iso-8859-1"); 39b39c5158Smillert 40b39c5158Smillertmy $data = ''; 41b39c5158Smillertfor my $i (0..255){ 42b39c5158Smillert no warnings; 43b39c5158Smillert $data .= chr($i); 44b39c5158Smillert my $base64 = encode_base64($data); 45b39c5158Smillert is(encoder($data)->base64, $base64, "encode"); 46b39c5158Smillert is(encoder($base64)->bytes('base64'), $data, "decode"); 47b39c5158Smillert} 48b39c5158Smillert 49b39c5158Smillert1; 50b39c5158Smillert__END__ 51