Upgrade to Encode 1.33, from Dan Kogai.
[p5sagit/p5-mst-13.2.git] / ext / Encode / t / Encoder.t
CommitLineData
fdd579e2 1#
448e90bb 2# $Id: Encoder.t,v 1.2 2002/04/10 22:28:40 dankogai Exp dankogai $
fdd579e2 3#
4
5BEGIN {
6 require Config; import Config;
7 if ($Config{'extensions'} !~ /\bEncode\b/) {
8 print "1..0 # Skip: Encode was not built\n";
9 exit 0;
10 }
11# should work without perlio
12# unless (find PerlIO::Layer 'perlio') {
13# print "1..0 # Skip: PerlIO was not built\n";
14# exit 0;
15# }
16# should work on EBCDIC
17# if (ord("A") == 193) {
18# print "1..0 # Skip: EBCDIC\n";
19# exit 0;
20# }
21 $| = 1;
22}
23
24use strict;
25#use Test::More 'no_plan';
448e90bb 26use Test::More tests => 516;
27use Encode::Encoder qw(encoder);
fdd579e2 28use MIME::Base64;
29package Encode::Base64;
30use base 'Encode::Encoding';
31__PACKAGE__->Define('base64');
32use MIME::Base64;
33sub encode{
34 my ($obj, $data) = @_;
35 return encode_base64($data);
36}
37sub decode{
38 my ($obj, $data) = @_;
39 return decode_base64($data);
40}
41
42package main;
43
448e90bb 44my $e = encoder("foo", "ascii");
45ok ($e->data("bar"));
46is ($e->data, "bar");
47ok ($e->encoding("latin1"));
48is ($e->encoding, "iso-8859-1");
49
fdd579e2 50my $data = '';
51for my $i (0..255){
52 no warnings;
53 $data .= chr($i);
54 my $base64 = encode_base64($data);
55 is(encoder($data)->base64, $base64, "encode");
56 is(encoder($base64)->bytes('base64'), $data, "decode");
57}
58
591;
60__END__