⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 050interop-gzip.t

📁 source of perl for linux application,
💻 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 + -