Upgrade to Compress::Zlib 2.000_05
[p5sagit/p5-mst-13.2.git] / ext / Compress / Zlib / t / 12any.t
1
2 use lib 't';
3  
4 use strict;
5 use warnings;
6 use bytes;
7
8 use Test::More ;
9 use ZlibTestUtils;
10
11 BEGIN {
12     # use Test::NoWarnings, if available
13     my $extra = 0 ;
14     $extra = 1
15         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
16
17     plan tests => 63 + $extra ;
18
19     use_ok('Compress::Zlib', 2) ;
20
21     use_ok('IO::Compress::Gzip', qw($GzipError)) ;
22     use_ok('IO::Uncompress::Gunzip', qw($GunzipError)) ;
23
24     use_ok('IO::Compress::Deflate', qw($DeflateError)) ;
25     use_ok('IO::Uncompress::Inflate', qw($InflateError)) ;
26
27     use_ok('IO::Compress::RawDeflate', qw($RawDeflateError)) ;
28     use_ok('IO::Uncompress::RawInflate', qw($RawInflateError)) ;
29     use_ok('IO::Uncompress::AnyInflate', qw($AnyInflateError)) ;
30 }
31
32 foreach my $Class ( map { "IO::Compress::$_" } qw( Gzip Deflate RawDeflate) )
33 {
34     
35     for my $trans ( 0, 1 )
36     {
37         title "AnyInflate(Transparent => $trans) with $Class" ;
38         my $string = <<EOM;
39 some text
40 EOM
41
42         my $buffer ;
43         my $x = new $Class(\$buffer) ;
44         ok $x, "  create $Class object" ;
45         ok $x->write($string), "  write to object" ;
46         ok $x->close, "  close ok" ;
47
48         my $unc = new IO::Uncompress::AnyInflate \$buffer, Transparent => $trans  ;
49
50         ok $unc, "  Created AnyInflate object" ;
51         my $uncomp ;
52         ok $unc->read($uncomp) > 0 
53             or print "# $IO::Uncompress::AnyInflate::AnyInflateError\n";
54         ok $unc->eof(), "  at eof" ;
55         #ok $unc->type eq $Type;
56
57         is $uncomp, $string, "  expected output" ;
58     }
59
60 }
61
62 {
63     title "AnyInflate with Non-compressed data" ;
64
65     my $string = <<EOM;
66 This is not compressed data
67 EOM
68
69     my $buffer = $string ;
70
71     my $unc ;
72     my $keep = $buffer ;
73     $unc = new IO::Uncompress::AnyInflate \$buffer, -Transparent => 0 ;
74     ok ! $unc,"  no AnyInflate object when -Transparent => 0" ;
75     is $buffer, $keep ;
76
77     $buffer = $keep ;
78     $unc = new IO::Uncompress::AnyInflate \$buffer, -Transparent => 1 ;
79     ok $unc, "  AnyInflate object when -Transparent => 1"  ;
80
81     my $uncomp ;
82     ok $unc->read($uncomp) > 0 ;
83     ok $unc->eof() ;
84     #ok $unc->type eq $Type;
85
86     is $uncomp, $string ;
87 }