diff options
author | Jay Berkenbilt <ejb@ql.org> | 2024-01-07 21:39:45 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2024-01-07 22:06:19 +0100 |
commit | 94b4e900b21c3ce61f55e118c570782556600490 (patch) | |
tree | 896d4fb31d8f38fe32fb42a8e46a95731deab5dd /qpdf/qtest/object-stream.test | |
parent | d54bd7b2658ae7cdef1276abe735613b1397a3bf (diff) | |
download | qpdf-94b4e900b21c3ce61f55e118c570782556600490.tar.zst |
Add better tests for generation > 0 with object streams
This includes an expected failure for a file with a dangling
reference to an old generation.
Diffstat (limited to 'qpdf/qtest/object-stream.test')
-rw-r--r-- | qpdf/qtest/object-stream.test | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/qpdf/qtest/object-stream.test b/qpdf/qtest/object-stream.test index 22b35af4..c9fa0664 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 = 5 + (36 * 4) + (12 * 2); +my $n_tests = 7 + (36 * 4) + (12 * 2); my $n_compare_pdfs = 36; for (my $n = 16; $n <= 19; ++$n) @@ -82,8 +82,22 @@ $td->runtest("generate object streams for gen > 0", {$td->COMMAND => "qpdf --qdf --static-id" . " --object-streams=generate gen1.pdf a.pdf"}, {$td->STRING => "", $td->EXIT_STATUS => 0}); +# qpdf 11.8.0 -- it was discovered that qpdf was incorrectly handling +# references to older generations of reused objects in incrementally +# updated files. $td->runtest("check file", {$td->FILE => "a.pdf"}, + {$td->FILE => "gen1.qdf"}, + $td->EXPECT_FAILURE); + +$td->runtest("generate object streams for gen > 0", + {$td->COMMAND => "qpdf --qdf --static-id" . + " --object-streams=generate gen1-no-dangling.pdf a.pdf"}, + {$td->STRING => "", $td->EXIT_STATUS => 0}); +$td->runtest("check file", + {$td->FILE => "a.pdf"}, + # Intentionally compare against gen1.pdf -- should have + # the same results as above. {$td->FILE => "gen1.qdf"}); |