Fix $Config{ccflags} for Win32 perls built with dmake
[p5sagit/p5-mst-13.2.git] / ext / Compress / Zlib / t / 05gzsetp.t
CommitLineData
f4c6fd49 1
2
3use strict ;
8aa25532 4use warnings ;
f4c6fd49 5
6use Compress::Zlib ;
7
06edba15 8if (Compress::Zlib::ZLIB_VERNUM() < 0x1060 )
f4c6fd49 9{
f4c6fd49 10 my $ver = Compress::Zlib::zlib_version();
06edba15 11 print "1..0 # gzsetparams needs zlib 1.0.6 or better. You have $ver\n";
12 exit 0 ;
f4c6fd49 13}
06edba15 14
f4c6fd49 15sub ok
16{
17 my ($no, $ok) = @_ ;
18
19 #++ $total ;
20 #++ $totalBad unless $ok ;
21
22 print "ok $no\n" if $ok ;
23 print "not ok $no\n" unless $ok ;
24}
25
26print "1..11\n" ;
27
28# Check zlib_version and ZLIB_VERSION are the same.
29ok(1, Compress::Zlib::zlib_version eq ZLIB_VERSION) ;
30
31
32{
33 # gzsetparams
34
35 my $hello = "I am a HAL 9000 computer" x 2001 ;
36 my $len_hello = length $hello ;
37 my $goodbye = "Will I dream?" x 2010;
38 my $len_goodbye = length $goodbye;
39
40 my ($input, $err, $answer, $X, $status, $Answer);
41
42 my $name = "test.gz" ;
43 unlink $name ;
44 ok(2, my $x = gzopen($name, "wb")) ;
45
46 ok(3, $x->gzwrite($hello) == $len_hello) ;
47 $input .= $hello;
48
49 # error cases
50 eval { $x->gzsetparams() };
51 ok(4, $@ =~ /^Usage: Compress::Zlib::gzFile::gzsetparams\(file, level, strategy\) at/);
52
53 # change both Level & Strategy
54 $status = $x->gzsetparams(Z_BEST_SPEED, Z_HUFFMAN_ONLY) ;
55 ok(5, $status == Z_OK) ;
56
57 ok(6, $x->gzwrite($goodbye) == $len_goodbye) ;
58 $input .= $goodbye;
59
60 ok(7, ! $x->gzclose ) ;
61
62 ok(8, my $k = gzopen($name, "rb")) ;
63
64 my $len = length $input ;
65 my $uncompressed;
66 ok(9, $k->gzread($uncompressed, $len) == $len) ;
67
68 ok(10, $uncompressed eq $input ) ;
69 ok(11, ! $k->gzclose ) ;
bdd93743 70 unlink $name ;
f4c6fd49 71}
06edba15 72