CAM-PDFTaxforms
view release on metacpan or search on metacpan
is($doc->canModify(), $initial_permissions[1], 'canModify');
is($doc->canCopy(), $initial_permissions[2], 'canCopy');
is($doc->canAdd(), $initial_permissions[3], 'canAdd');
$doc->setPrefs(@passwords);
is_deeply([$doc->getPrefs()], [@passwords, 0,0,0,0], 'getPrefs');
ok(!$doc->canPrint(), 'canPrint');
ok(!$doc->canModify(), 'canModify');
ok(!$doc->canCopy(), 'canCopy');
ok(!$doc->canAdd(), 'canAdd');
my @prefs = (1,0,1,0);
$doc->setPrefs(@passwords, @prefs);
$doc->setPrefs(@passwords, @prefs);
is_deeply([$doc->getPrefs()], [@passwords, @prefs], 'getPrefs');
SKIP:
{
skip 'optional memory leak test skipped', 1 if (!$can_test_leaks);
Test::Memory::Cycle::memory_cycle_ok($doc, 'memory leak test');
}
{
my $doc2;
my $serialized = $doc->toPDF();
$doc2 = CAM::PDFTaxforms->new($serialized, 'wrong', 'password');
is($doc2, undef, 'open encrypted PDF, wrong password');
$doc2 = CAM::PDFTaxforms->new($serialized, '', '', {fault_tolerant => 1});
isnt($doc2, undef, 'open encrypted PDF, fail gently');
clearerr();
$doc2 = CAM::PDFTaxforms->new($serialized, @passwords);
isnt($doc2, undef, 'open encrypted PDF, right password');
checkerr();
is_deeply([$doc2 ? $doc2->getPrefs() : ()], [@passwords, @prefs], 'getPrefs');
SKIP:
{
skip 'optional memory leak test skipped', 1 if (!$can_test_leaks);
Test::Memory::Cycle::memory_cycle_ok($doc2, 'memory leak test');
}
}
}
( run in 0.971 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )