mirror of
https://github.com/qpdf/qpdf.git
synced 2025-01-31 19:08:24 +00:00
56 lines
1.9 KiB
Perl
56 lines
1.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('object-copying');
|
|
|
|
my $n_tests = 9;
|
|
|
|
$td->runtest("shallow copy an array",
|
|
{$td->COMMAND => "test_driver 20 shallow_array.pdf"},
|
|
{$td->STRING => "test 20 done\n", $td->EXIT_STATUS => 0},
|
|
$td->NORMALIZE_NEWLINES);
|
|
$td->runtest("check output",
|
|
{$td->FILE => "a.pdf"},
|
|
{$td->FILE => "shallow_array-out.pdf"});
|
|
$td->runtest("shallow copy a stream",
|
|
{$td->COMMAND => "test_driver 21 shallow_array.pdf"},
|
|
{$td->FILE => "shallow_stream.out", $td->EXIT_STATUS => 2},
|
|
$td->NORMALIZE_NEWLINES);
|
|
$td->runtest("warn for unknown key in Pages",
|
|
{$td->COMMAND => "test_driver 23 lin-special.pdf"},
|
|
{$td->FILE => "pages-warning.out", $td->EXIT_STATUS => 0},
|
|
$td->NORMALIZE_NEWLINES);
|
|
$td->runtest("reserved objects",
|
|
{$td->COMMAND => "test_driver 24 minimal.pdf"},
|
|
{$td->FILE => "reserved-objects.out", $td->EXIT_STATUS => 0},
|
|
$td->NORMALIZE_NEWLINES);
|
|
$td->runtest("check output",
|
|
{$td->FILE => "a.pdf"},
|
|
{$td->FILE => "reserved-objects.pdf"});
|
|
$td->runtest("detect foreign object in write",
|
|
{$td->COMMAND => "test_driver 29" .
|
|
" copy-foreign-objects-in.pdf minimal.pdf"},
|
|
{$td->FILE => "foreign-in-write.out", $td->EXIT_STATUS => 0},
|
|
$td->NORMALIZE_NEWLINES);
|
|
$td->runtest("copy a stream",
|
|
{$td->COMMAND => "test_driver 79 minimal.pdf"},
|
|
{$td->STRING => "test 79 done\n", $td->EXIT_STATUS => 0},
|
|
$td->NORMALIZE_NEWLINES);
|
|
$td->runtest("check output",
|
|
{$td->FILE => "a.pdf"},
|
|
{$td->FILE => "test79.pdf"});
|
|
|
|
cleanup();
|
|
$td->report($n_tests);
|