|
Packit |
d0f5c2 |
#
|
|
Packit |
d0f5c2 |
# $Id: Encoder.t,v 2.1 2013/09/14 07:51:59 dankogai Exp $
|
|
Packit |
d0f5c2 |
#
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
BEGIN {
|
|
Packit |
d0f5c2 |
require Config; import Config;
|
|
Packit |
d0f5c2 |
if ($Config{'extensions'} !~ /\bEncode\b/) {
|
|
Packit |
d0f5c2 |
print "1..0 # Skip: Encode was not built\n";
|
|
Packit |
d0f5c2 |
exit 0;
|
|
Packit |
d0f5c2 |
}
|
|
Packit |
d0f5c2 |
$| = 1;
|
|
Packit |
d0f5c2 |
}
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
use strict;
|
|
Packit |
d0f5c2 |
#use Test::More 'no_plan';
|
|
Packit |
d0f5c2 |
use Test::More tests => 516;
|
|
Packit |
d0f5c2 |
use Encode::Encoder qw(encoder);
|
|
Packit |
d0f5c2 |
use MIME::Base64;
|
|
Packit |
d0f5c2 |
package Encode::Base64;
|
|
Packit |
d0f5c2 |
use parent 'Encode::Encoding';
|
|
Packit |
d0f5c2 |
__PACKAGE__->Define('base64');
|
|
Packit |
d0f5c2 |
use MIME::Base64;
|
|
Packit |
d0f5c2 |
sub encode{
|
|
Packit |
d0f5c2 |
my ($obj, $data) = @_;
|
|
Packit |
d0f5c2 |
return encode_base64($data);
|
|
Packit |
d0f5c2 |
}
|
|
Packit |
d0f5c2 |
sub decode{
|
|
Packit |
d0f5c2 |
my ($obj, $data) = @_;
|
|
Packit |
d0f5c2 |
return decode_base64($data);
|
|
Packit |
d0f5c2 |
}
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
package main;
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
my $e = encoder("foo", "ascii");
|
|
Packit |
d0f5c2 |
ok ($e->data("bar"));
|
|
Packit |
d0f5c2 |
is ($e->data, "bar");
|
|
Packit |
d0f5c2 |
ok ($e->encoding("latin1"));
|
|
Packit |
d0f5c2 |
is ($e->encoding, "iso-8859-1");
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
my $data = '';
|
|
Packit |
d0f5c2 |
for my $i (0..255){
|
|
Packit |
d0f5c2 |
no warnings;
|
|
Packit |
d0f5c2 |
$data .= chr($i);
|
|
Packit |
d0f5c2 |
my $base64 = encode_base64($data);
|
|
Packit |
d0f5c2 |
is(encoder($data)->base64, $base64, "encode");
|
|
Packit |
d0f5c2 |
is(encoder($base64)->bytes('base64'), $data, "decode");
|
|
Packit |
d0f5c2 |
}
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
1;
|
|
Packit |
d0f5c2 |
__END__
|