Commit | Line | Data |
fdd579e2 |
1 | # |
b2704119 |
2 | # $Id: Encoder.t,v 1.3 2002/04/16 23:35:00 dankogai Exp $ |
fdd579e2 |
3 | # |
4 | |
5 | BEGIN { |
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 | } |
fdd579e2 |
11 | $| = 1; |
12 | } |
13 | |
14 | use strict; |
15 | #use Test::More 'no_plan'; |
448e90bb |
16 | use Test::More tests => 516; |
17 | use Encode::Encoder qw(encoder); |
fdd579e2 |
18 | use MIME::Base64; |
19 | package Encode::Base64; |
20 | use base 'Encode::Encoding'; |
21 | __PACKAGE__->Define('base64'); |
22 | use MIME::Base64; |
23 | sub encode{ |
24 | my ($obj, $data) = @_; |
25 | return encode_base64($data); |
26 | } |
27 | sub decode{ |
28 | my ($obj, $data) = @_; |
29 | return decode_base64($data); |
30 | } |
31 | |
32 | package main; |
33 | |
448e90bb |
34 | my $e = encoder("foo", "ascii"); |
35 | ok ($e->data("bar")); |
36 | is ($e->data, "bar"); |
37 | ok ($e->encoding("latin1")); |
38 | is ($e->encoding, "iso-8859-1"); |
39 | |
fdd579e2 |
40 | my $data = ''; |
41 | for 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 | |
49 | 1; |
50 | __END__ |