aboutsummaryrefslogtreecommitdiffstats
path: root/qpdf/qtest/object-stream.test
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2024-01-06 22:51:03 +0100
committerJay Berkenbilt <ejb@ql.org>2024-01-06 22:51:03 +0100
commit2994f9cf4cc45e33406de34d4bce45ca491df98e (patch)
treee108755c1deb2a7cc711e44d7dbe9b693c8b4cef /qpdf/qtest/object-stream.test
parent8a24287c392969d1aa25bc9aaabc3502c0bbaf08 (diff)
downloadqpdf-2994f9cf4cc45e33406de34d4bce45ca491df98e.tar.zst
Attempt to find xref streams during recovery (fixes #1103)
Diffstat (limited to 'qpdf/qtest/object-stream.test')
-rw-r--r--qpdf/qtest/object-stream.test12
1 files changed, 11 insertions, 1 deletions
diff --git a/qpdf/qtest/object-stream.test b/qpdf/qtest/object-stream.test
index 04d1bb0d..22b35af4 100644
--- a/qpdf/qtest/object-stream.test
+++ b/qpdf/qtest/object-stream.test
@@ -16,7 +16,7 @@ cleanup();
my $td = new TestDriver('object-stream');
-my $n_tests = 3 + (36 * 4) + (12 * 2);
+my $n_tests = 5 + (36 * 4) + (12 * 2);
my $n_compare_pdfs = 36;
for (my $n = 16; $n <= 19; ++$n)
@@ -87,5 +87,15 @@ $td->runtest("check file",
{$td->FILE => "gen1.qdf"});
+# Recover a file with xref streams
+$td->runtest("recover file with xref stream",
+ {$td->COMMAND => "qpdf --static-id --compress-streams=n" .
+ " recover-xref-stream.pdf a.pdf"},
+ {$td->FILE => "recover-xref-stream.out", $td->EXIT_STATUS => 3},
+ $td->NORMALIZE_NEWLINES);
+$td->runtest("check file",
+ {$td->FILE => "a.pdf"},
+ {$td->FILE => "recover-xref-stream-recovered.pdf"});
+
cleanup();
$td->report(calc_ntests($n_tests, $n_compare_pdfs));