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