The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/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;