mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-22 10:58:58 +00:00
Add new object stream test case
Exercise stream containing objects with no white-space between them.
This commit is contained in:
parent
6aa6c01303
commit
0a8e62839c
@ -16,7 +16,7 @@ cleanup();
|
||||
|
||||
my $td = new TestDriver('object-stream');
|
||||
|
||||
my $n_tests = 9 + (36 * 4) + (12 * 2);
|
||||
my $n_tests = 10 + (36 * 4) + (12 * 2);
|
||||
my $n_compare_pdfs = 36;
|
||||
|
||||
for (my $n = 16; $n <= 19; ++$n)
|
||||
@ -117,6 +117,14 @@ $td->runtest("check file",
|
||||
{$td->FILE => "a.pdf"},
|
||||
{$td->FILE => "object-stream-self-ref.out.pdf"});
|
||||
|
||||
# The file no-space-compressed-object.pdf contains an object stream containing two
|
||||
# integer objects that are not separated by any white space. The test case exercises
|
||||
# that all objects in the stream have the correct value.
|
||||
$td->runtest("adjacent compressed objects",
|
||||
{$td->COMMAND => "test_driver 99 no-space-compressed-object.pdf"},
|
||||
{$td->FILE => "no-space-compressed-object.out",
|
||||
$td->EXIT_STATUS => 0},
|
||||
$td->EXPECT_FAILURE);
|
||||
|
||||
cleanup();
|
||||
$td->report(calc_ntests($n_tests, $n_compare_pdfs));
|
||||
|
5
qpdf/qtest/qpdf/no-space-compressed-object.out
Normal file
5
qpdf/qtest/qpdf/no-space-compressed-object.out
Normal file
@ -0,0 +1,5 @@
|
||||
1234
|
||||
5678
|
||||
(orig-3)
|
||||
(orig-4)
|
||||
test 99 done
|
BIN
qpdf/qtest/qpdf/no-space-compressed-object.pdf
Normal file
BIN
qpdf/qtest/qpdf/no-space-compressed-object.pdf
Normal file
Binary file not shown.
@ -3453,6 +3453,16 @@ test_98(QPDF& pdf, char const* arg2)
|
||||
"}");
|
||||
}
|
||||
|
||||
static void
|
||||
test_99(QPDF& pdf, char const* arg2)
|
||||
{
|
||||
// Designed for no-space-compressed-object.pdf
|
||||
QPDFObjectHandle qtest = pdf.getRoot().getKey("/QTest");
|
||||
for (int i = 0; i < qtest.getArrayNItems(); ++i) {
|
||||
std::cout << qtest.getArrayItem(i).unparseResolved() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
runtest(int n, char const* filename1, char const* arg2)
|
||||
{
|
||||
@ -3554,7 +3564,7 @@ runtest(int n, char const* filename1, char const* arg2)
|
||||
{78, test_78}, {79, test_79}, {80, test_80}, {81, test_81}, {82, test_82}, {83, test_83},
|
||||
{84, test_84}, {85, test_85}, {86, test_86}, {87, test_87}, {88, test_88}, {89, test_89},
|
||||
{90, test_90}, {91, test_91}, {92, test_92}, {93, test_93}, {94, test_94}, {95, test_95},
|
||||
{96, test_96}, {97, test_97}, {98, test_98}};
|
||||
{96, test_96}, {97, test_97}, {98, test_98}, {99, test_99}};
|
||||
|
||||
auto fn = test_functions.find(n);
|
||||
if (fn == test_functions.end()) {
|
||||
|
Loading…
Reference in New Issue
Block a user