📄 prime.pl
字号:
use lib 't';use strict;use warnings;use bytes;use Test::More ;use CompTestUtils;our ($extra);BEGIN { # use Test::NoWarnings, if available $extra = 0 ; $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 };}sub run{ my $CompressClass = identify(); my $UncompressClass = getInverse($CompressClass); my $Error = getErrorRef($CompressClass); my $UnError = getErrorRef($UncompressClass); my $hello = <<EOM ;hello worldthis is a testsome more stuff on this linead finally...EOM print "#\n# Testing $UncompressClass\n#\n"; my $compressed = mkComplete($CompressClass, $hello); my $cc = $compressed ; plan tests => (length($compressed) * 6 * 7) + 1 + $extra ; is anyUncompress(\$cc), $hello ; for my $blocksize (1, 2, 13) { for my $i (0 .. length($compressed) - 1) { for my $useBuf (0 .. 1) { print "#\n# BlockSize $blocksize, Length $i, Buffer $useBuf\n#\n" ; my $lex = new LexFile my $name ; my $prime = substr($compressed, 0, $i); my $rest = substr($compressed, $i); my $start ; if ($useBuf) { $start = \$rest ; } else { $start = $name ; writeFile($name, $rest); } #my $gz = new $UncompressClass $name, my $gz = new $UncompressClass $start, -Append => 1, -BlockSize => $blocksize, -Prime => $prime, -Transparent => 0 ; ok $gz; ok ! $gz->error() ; my $un ; my $status = 1 ; $status = $gz->read($un) while $status > 0 ; is $status, 0 ; ok ! $gz->error() or print "Error is '" . $gz->error() . "'\n"; is $un, $hello ; ok $gz->eof() ; ok $gz->close() ; } } }} 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -