PATCH: Large omnibus patch to clean up the JRRT quotes
[p5sagit/p5-mst-13.2.git] / ext / Encode / t / Encoder.t
CommitLineData
fdd579e2 1#
7237418a 2# $Id: Encoder.t,v 2.0 2004/05/16 20:55:17 dankogai Exp $
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 }
fdd579e2 11 $| = 1;
12}
13
14use strict;
15#use Test::More 'no_plan';
448e90bb 16use Test::More tests => 516;
17use Encode::Encoder qw(encoder);
fdd579e2 18use MIME::Base64;
19package Encode::Base64;
20use base '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
448e90bb 34my $e = encoder("foo", "ascii");
35ok ($e->data("bar"));
36is ($e->data, "bar");
37ok ($e->encoding("latin1"));
38is ($e->encoding, "iso-8859-1");
39
fdd579e2 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__