Blame t/03_ex.t

Packit 0bf95d
#!/usr/bin/perl
Packit 0bf95d
Packit 0bf95d
use strict;
Packit 0bf95d
Packit 0bf95d
BEGIN {
Packit 0bf95d
    $|  = 1;
Packit 0bf95d
    $^W = 1;
Packit 0bf95d
}
Packit 0bf95d
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
Packit 0bf95d
use File::Spec;
Packit 0bf95d
use IO::File;
Packit 0bf95d
Packit 0bf95d
use Test::More tests => 17;
Packit 0bf95d
use lib 't';
Packit 0bf95d
use common;
Packit 0bf95d
Packit 0bf95d
sub runPerlCommand {
Packit 0bf95d
    my $libs = join(' -I', @INC);
Packit 0bf95d
    my $cmd = "\"$^X\" \"-I$libs\" -w \"" . join('" "', @_) . '"';
Packit 0bf95d
    my $output = `$cmd`;
Packit 0bf95d
    return wantarray ? ($?, $output) : $?;
Packit 0bf95d
}
Packit 0bf95d
Packit 0bf95d
use constant FILENAME => File::Spec->catpath('', TESTDIR, 'testing.txt');
Packit 0bf95d
use constant ZFILENAME => TESTDIR . "/testing.txt";    # name in zip
Packit 0bf95d
Packit 0bf95d
my $zip = Archive::Zip->new();
Packit 0bf95d
isa_ok($zip, 'Archive::Zip');
Packit 0bf95d
$zip->addString(TESTSTRING, FILENAME);
Packit 0bf95d
$zip->writeToFileNamed(INPUTZIP);
Packit 0bf95d
Packit 0bf95d
my ($status, $output);
Packit 0bf95d
my $fh = IO::File->new("test.log", "w");
Packit 0bf95d
isa_ok($fh, 'IO::File');
Packit 0bf95d
Packit 0bf95d
is(runPerlCommand('examples/copy.pl', INPUTZIP, OUTPUTZIP), 0);
Packit 0bf95d
Packit 0bf95d
is(runPerlCommand('examples/extract.pl', OUTPUTZIP, ZFILENAME), 0);
Packit 0bf95d
Packit 0bf95d
is(runPerlCommand('examples/mfh.pl', INPUTZIP), 0);
Packit 0bf95d
Packit 0bf95d
is(runPerlCommand('examples/zip.pl', OUTPUTZIP, INPUTZIP, FILENAME), 0);
Packit 0bf95d
Packit 0bf95d
($status, $output) = runPerlCommand('examples/zipinfo.pl', INPUTZIP);
Packit 0bf95d
is($status, 0);
Packit 0bf95d
$fh->print("zipinfo output:\n");
Packit 0bf95d
$fh->print($output);
Packit 0bf95d
Packit 0bf95d
($status, $output) = runPerlCommand('examples/ziptest.pl', INPUTZIP);
Packit 0bf95d
is($status, 0);
Packit 0bf95d
$fh->print("ziptest output:\n");
Packit 0bf95d
$fh->print($output);
Packit 0bf95d
Packit 0bf95d
($status, $output) = runPerlCommand('examples/zipGrep.pl', '100', INPUTZIP);
Packit 0bf95d
is($status, 0);
Packit 0bf95d
is($output, ZFILENAME . ":100\n");
Packit 0bf95d
Packit 0bf95d
# calcSizes.pl
Packit 0bf95d
# creates test.zip, may be sensitive to /dev/null
Packit 0bf95d
Packit 0bf95d
# removed because requires IO::Scalar
Packit 0bf95d
# ok( runPerlCommand('examples/readScalar.pl'), 0 );
Packit 0bf95d
Packit 0bf95d
unlink(OUTPUTZIP);
Packit 0bf95d
is(runPerlCommand('examples/selfex.pl', OUTPUTZIP, FILENAME), 0);
Packit 0bf95d
unlink(FILENAME);
Packit 0bf95d
is(runPerlCommand(OUTPUTZIP), 0);
Packit 0bf95d
my $fn = File::Spec->catpath('', File::Spec->catdir('extracted', TESTDIR),
Packit 0bf95d
    'testing.txt');
Packit 0bf95d
is(-f $fn, 1, "$fn exists");
Packit 0bf95d
Packit 0bf95d
# unzipAll.pl
Packit 0bf95d
# updateZip.pl
Packit 0bf95d
# writeScalar.pl
Packit 0bf95d
# zipcheck.pl
Packit 0bf95d
# ziprecent.pl
Packit 0bf95d
Packit 0bf95d
unlink(OUTPUTZIP);
Packit 0bf95d
is(runPerlCommand('examples/updateTree.pl', OUTPUTZIP, TESTDIR),
Packit 0bf95d
    0, "updateTree.pl create");
Packit 0bf95d
is(-f OUTPUTZIP, 1, "zip created");
Packit 0bf95d
is(runPerlCommand('examples/updateTree.pl', OUTPUTZIP, TESTDIR),
Packit 0bf95d
    0, "updateTree.pl update");
Packit 0bf95d
is(-f OUTPUTZIP, 1, "zip updated");
Packit 0bf95d
unlink(OUTPUTZIP);