📄 050interop-gzip.t
字号:
BEGIN { if ($ENV{PERL_CORE}) { chdir 't' if -d 't'; @INC = ("../lib", "lib/compress"); }}use lib qw(t t/compress);use strict;use warnings;use bytes;use Test::More ;use CompTestUtils;my $GZIP ;sub ExternalGzipWorks{ my $lex = new LexFile my $outfile; my $content = qq {Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut tempus odio id dolor. Camelus perlus. Larrius in lumen numen. Dolor en quiquum filia est. Quintus cenum parat.}; writeWithGzip($outfile, $content) or return 0; my $got ; readWithGzip($outfile, $got) or return 0; if ($content ne $got) { diag "Uncompressed content is wrong"; return 0 ; } return 1 ;}sub readWithGzip{ my $file = shift ; my $lex = new LexFile my $outfile; my $comp = "$GZIP -dc" ; if ( system("$comp $file >$outfile") == 0 ) { $_[0] = readFile($outfile); return 1 } diag "'$comp' failed: $?"; return 0 ;}sub getGzipInfo{ my $file = shift ;}sub writeWithGzip{ my $file = shift ; my $content = shift ; my $options = shift || ''; my $lex = new LexFile my $infile; writeFile($infile, $content); unlink $file ; my $comp = "$GZIP -c $options $infile >$file" ; return 1 if system($comp) == 0 ; diag "'$comp' failed: $?"; return 0 ;}BEGIN { # Check external gzip is available my $name = $^O =~ /mswin/i ? 'gzip.exe' : 'gzip'; my $split = $^O =~ /mswin/i ? ";" : ":"; for my $dir (reverse split $split, $ENV{PATH}) { $GZIP = "$dir/$name" if -x "$dir/$name" ; } plan(skip_all => "Cannot find $name") if ! $GZIP ; plan(skip_all => "$name doesn't work as expected") if ! ExternalGzipWorks(); # use Test::NoWarnings, if available my $extra = 0 ; $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; plan tests => 7 + $extra ; use_ok('IO::Compress::Gzip', ':all') ; use_ok('IO::Uncompress::Gunzip', ':all') ;}{ title "Test interop with $GZIP" ; my $file; my $file1; my $lex = new LexFile $file, $file1; my $content = qq {Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut tempus odio id dolor. Camelus perlus. Larrius in lumen numen. Dolor en quiquum filia est. Quintus cenum parat.}; my $got; ok writeWithGzip($file, $content), "writeWithGzip ok"; gunzip $file => \$got ; is $got, $content, "got content"; gzip \$content => $file1; $got = ''; ok readWithGzip($file1, $got), "readWithGzip ok"; is $got, $content, "got content";}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -