mirror of
https://github.com/qpdf/qpdf.git
synced 2024-11-10 23:20:58 +00:00
90 lines
2.9 KiB
Perl
90 lines
2.9 KiB
Perl
#!/usr/bin/env perl
|
|
require 5.008;
|
|
use warnings;
|
|
use strict;
|
|
|
|
unshift(@INC, '.');
|
|
require qpdf_test_helpers;
|
|
|
|
chdir("qpdf") or die "chdir testdir failed: $!\n";
|
|
|
|
require TestDriver;
|
|
|
|
cleanup();
|
|
|
|
my $td = new TestDriver('appearance-streams');
|
|
|
|
my $n_tests = 12;
|
|
|
|
foreach my $f ('need-appearances',
|
|
'need-appearances-more',
|
|
'need-appearances-more2',
|
|
'need-appearances-more3')
|
|
{
|
|
$td->runtest("generate appearances and flatten ($f)",
|
|
{$td->COMMAND =>
|
|
"qpdf --qdf --no-original-object-ids --static-id" .
|
|
" --generate-appearances --flatten-annotations=all" .
|
|
" $f.pdf a.pdf"},
|
|
{$td->STRING => "", $td->EXIT_STATUS => 0},
|
|
$td->NORMALIZE_NEWLINES);
|
|
my $exp = 'appearances-a';
|
|
if ($f =~ m/appearances(-.*)$/)
|
|
{
|
|
$exp .= $1;
|
|
}
|
|
$exp .= '.pdf';
|
|
$td->runtest("compare files",
|
|
{$td->FILE => "a.pdf"},
|
|
{$td->FILE => $exp});
|
|
}
|
|
|
|
$td->runtest("more choices",
|
|
{$td->COMMAND =>
|
|
"qpdf --qdf --no-original-object-ids --static-id" .
|
|
" --generate-appearances" .
|
|
" more-choices.pdf b.pdf"},
|
|
{$td->STRING => "", $td->EXIT_STATUS => 0},
|
|
$td->NORMALIZE_NEWLINES);
|
|
# b.pdf still has forms
|
|
$td->runtest("compare files",
|
|
{$td->FILE => "b.pdf"},
|
|
{$td->FILE => "appearances-b.pdf"});
|
|
|
|
my @choice_values = qw(1 2 11 12 quack);
|
|
$n_tests += 3 * scalar(@choice_values);
|
|
foreach my $i (@choice_values)
|
|
{
|
|
# b.pdf was generated by qpdf and needs appearances
|
|
# test_driver 52 writes a.pdf
|
|
$td->runtest("set value to $i",
|
|
{$td->COMMAND => "test_driver 52 b.pdf $i"},
|
|
{$td->STRING => "setting list1 value\ntest 52 done\n",
|
|
$td->EXIT_STATUS => 0},
|
|
$td->NORMALIZE_NEWLINES);
|
|
$td->runtest("regenerate appearances",
|
|
{$td->COMMAND =>
|
|
"qpdf --qdf --no-original-object-ids --static-id" .
|
|
" --generate-appearances" .
|
|
" a.pdf b.pdf"},
|
|
{$td->STRING => "", $td->EXIT_STATUS => 0},
|
|
$td->NORMALIZE_NEWLINES);
|
|
$td->runtest("compare files",
|
|
{$td->FILE => "b.pdf"},
|
|
{$td->FILE => "appearances-$i.pdf"});
|
|
}
|
|
|
|
$td->runtest("Update resources from /DR",
|
|
{$td->COMMAND =>
|
|
"qpdf --qdf --no-original-object-ids --static-id" .
|
|
" --generate-appearances" .
|
|
" resource-from-dr.pdf a.pdf"},
|
|
{$td->STRING => "", $td->EXIT_STATUS => 0},
|
|
$td->NORMALIZE_NEWLINES);
|
|
$td->runtest("compare files",
|
|
{$td->FILE => "a.pdf"},
|
|
{$td->FILE => "resource-from-dr-out.pdf"});
|
|
|
|
cleanup();
|
|
$td->report($n_tests);
|