Blame t/05_tree.t

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');