#!/usr/bin/perl
use strict;
use warnings;
BEGIN { $| = 1; }
use Archive::Zip qw( :ERROR_CODES );
use Test::More;
foreach my $pass (qw( wrong test )) {
my $zip = Archive::Zip->new();
isa_ok($zip, "Archive::Zip");
is($zip->read("t/data/crypt.zip"), AZ_OK, "Read file");
ok(my @mn = $zip->memberNames, "get memberNames");
is_deeply(\@mn, ["decrypt.txt"], "memberNames");
ok(my $m = $zip->memberNamed($mn[0]), "find member");
isa_ok($m, "Archive::Zip::Member");
is($m->password($pass), $pass, "set password");
is($m->password(), $pass, "get password");
is(
$m->contents,
$pass eq "test"
? "encryption test\n"
: "",
"Decoded buffer"
);
}
done_testing;