summaryrefslogtreecommitdiff
path: root/t/15_decrypt.t
blob: fa980d45fd92bcc63d85750bba645ae4fecff1a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/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;