BEGIN {
require
Config; Config->
import
();
if
(
$Config
{
'extensions'
} !~ /\bEncode\b/) {
print
"1..0 # Skip: Encode was not built\n"
;
exit
0;
}
$| = 1;
}
__PACKAGE__->Define(
'base64'
);
sub
encode{
my
(
$obj
,
$data
) =
@_
;
return
encode_base64(
$data
);
}
sub
decode{
my
(
$obj
,
$data
) =
@_
;
return
decode_base64(
$data
);
}
my
$e
= encoder(
"foo"
,
"ascii"
);
ok (
$e
->data(
"bar"
));
is (
$e
->data,
"bar"
);
ok (
$e
->encoding(
"latin1"
));
is (
$e
->encoding,
"iso-8859-1"
);
my
$data
=
''
;
for
my
$i
(0..255){
no
warnings;
$data
.=
chr
(
$i
);
my
$base64
= encode_base64(
$data
);
is(encoder(
$data
)->base64,
$base64
,
"encode"
);
is(encoder(
$base64
)->bytes(
'base64'
),
$data
,
"decode"
);
}
1;