Blame t/07_filenames_of_0.t

Packit 0bf95d
#!/usr/bin/perl
Packit 0bf95d
Packit 0bf95d
# These are regression tests for:
Packit 0bf95d
# http://rt.cpan.org/Public/Bug/Display.html?id=27463
Packit 0bf95d
# http://rt.cpan.org/Public/Bug/Display.html?id=76780
Packit 0bf95d
#
Packit 0bf95d
# It tests that one can add files to the archive whose filenames are "0".
Packit 0bf95d
Packit 0bf95d
use strict;
Packit 0bf95d
Packit 0bf95d
BEGIN {
Packit 0bf95d
    $|  = 1;
Packit 0bf95d
    $^W = 1;
Packit 0bf95d
}
Packit 0bf95d
use Test::More tests => 3;
Packit 0bf95d
use Archive::Zip;
Packit 0bf95d
Packit 0bf95d
use File::Path;
Packit 0bf95d
use File::Spec;
Packit 0bf95d
Packit 0bf95d
use lib 't';
Packit 0bf95d
use common;
Packit 0bf95d
Packit 0bf95d
mkpath([File::Spec->catdir(TESTDIR, 'folder')]);
Packit 0bf95d
Packit 0bf95d
my $zero_file = File::Spec->catfile(TESTDIR, 'folder', "0");
Packit 0bf95d
open(O, ">$zero_file");
Packit 0bf95d
print O "File 0\n";
Packit 0bf95d
close(O);
Packit 0bf95d
Packit 0bf95d
my $one_file = File::Spec->catfile(TESTDIR, 'folder', '1');
Packit 0bf95d
open(O, ">$one_file");
Packit 0bf95d
print O "File 1\n";
Packit 0bf95d
close(O);
Packit 0bf95d
Packit 0bf95d
my $archive = Archive::Zip->new;
Packit 0bf95d
Packit 0bf95d
$archive->addTree(File::Spec->catfile(TESTDIR, 'folder'), 'folder',);
Packit 0bf95d
Packit 0bf95d
# TEST
Packit 0bf95d
ok(
Packit 0bf95d
    scalar(grep { $_ eq "folder/0" } $archive->memberNames()),
Packit 0bf95d
    "Checking that a file called '0' was added properly"
Packit 0bf95d
);
Packit 0bf95d
Packit 0bf95d
rmtree([File::Spec->catdir(TESTDIR, 'folder')]);
Packit 0bf95d
Packit 0bf95d
# Cannot create member called "0" with addString
Packit 0bf95d
{
Packit 0bf95d
    # Create member "0" with addString
Packit 0bf95d
    my $archive = Archive::Zip->new;
Packit 0bf95d
    my $string_member = $archive->addString(TESTSTRING => 0);
Packit 0bf95d
    $archive->writeToFileNamed(OUTPUTZIP);
Packit 0bf95d
}
Packit 0bf95d
Packit 0bf95d
{
Packit 0bf95d
Packit 0bf95d
    # Read member "0"
Packit 0bf95d
    my $archive = Archive::Zip->new;
Packit 0bf95d
    is($archive->read(OUTPUTZIP), Archive::Zip::AZ_OK);
Packit 0bf95d
    ok(scalar(grep { $_ eq "0" } $archive->memberNames()),
Packit 0bf95d
        "Checking that a file called '0' was added properly by addString");
Packit 0bf95d
}
Packit 0bf95d
unlink(OUTPUTZIP);