|
Packit |
0bf95d |
#!/usr/bin/perl
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
use strict;
|
|
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 FileHandle;
|
|
Packit |
0bf95d |
use File::Spec;
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
use Test::More tests => 6;
|
|
Packit |
0bf95d |
use lib 't';
|
|
Packit |
0bf95d |
use common;
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
use constant FILENAME => File::Spec->catfile(TESTDIR, 'testing.txt');
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
my $zip;
|
|
Packit |
0bf95d |
my @memberNames;
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
sub makeZip {
|
|
Packit |
0bf95d |
my ($src, $dest, $pred) = @_;
|
|
Packit |
0bf95d |
$zip = Archive::Zip->new();
|
|
Packit |
0bf95d |
$zip->addTree($src, $dest, $pred);
|
|
Packit |
0bf95d |
@memberNames = $zip->memberNames();
|
|
Packit |
0bf95d |
}
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
sub makeZipAndLookFor {
|
|
Packit |
0bf95d |
my ($src, $dest, $pred, $lookFor) = @_;
|
|
Packit |
0bf95d |
makeZip($src, $dest, $pred);
|
|
Packit |
0bf95d |
ok(@memberNames);
|
|
Packit |
0bf95d |
ok((grep { $_ eq $lookFor } @memberNames) == 1)
|
|
Packit |
0bf95d |
or print STDERR "Can't find $lookFor in ("
|
|
Packit |
0bf95d |
. join(",", @memberNames) . ")\n";
|
|
Packit |
0bf95d |
}
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
my ($testFileVolume, $testFileDirs, $testFileName) = File::Spec->splitpath($0);
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
makeZipAndLookFor('.', '', sub { print "file $_\n"; -f && /\.t$/ },
|
|
Packit |
0bf95d |
't/02_main.t');
|
|
Packit |
0bf95d |
makeZipAndLookFor('.', 'e/', sub { -f && /\.t$/ }, 'e/t/02_main.t');
|
|
Packit |
0bf95d |
makeZipAndLookFor('./t', '', sub { -f && /\.t$/ }, '02_main.t');
|