From 29f5830325f810612b8c683282133c47f5da0b33 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Mon, 4 Mar 2013 10:59:20 -0500 Subject: Fix getTypeCode and getTypeName work for indirect objects Remove const qualifier from getTypeCode and get getTypeName methods of QPDFObjectHandle, make them work properly for indirect objects, and exercise them much better in the test suite. --- include/qpdf/QPDFObjectHandle.hh | 4 ++-- libqpdf/QPDFObjectHandle.cc | 10 ++++++---- qpdf/qtest/qpdf/bad10-recover.out | 2 +- qpdf/qtest/qpdf/bad11-recover.out | 2 +- qpdf/qtest/qpdf/bad12-recover.out | 2 +- qpdf/qtest/qpdf/bad12.out | 2 +- qpdf/qtest/qpdf/bad2-recover.out | 2 +- qpdf/qtest/qpdf/bad22-recover.out | 2 +- qpdf/qtest/qpdf/bad23-recover.out | 2 +- qpdf/qtest/qpdf/bad25-recover.out | 2 +- qpdf/qtest/qpdf/bad26-recover.out | 2 +- qpdf/qtest/qpdf/bad27-recover.out | 2 +- qpdf/qtest/qpdf/bad28-recover.out | 2 +- qpdf/qtest/qpdf/bad28.out | 2 +- qpdf/qtest/qpdf/bad3-recover.out | 2 +- qpdf/qtest/qpdf/bad30-recover.out | 2 +- qpdf/qtest/qpdf/bad30.out | 2 +- qpdf/qtest/qpdf/bad31-recover.out | 2 +- qpdf/qtest/qpdf/bad31.out | 2 +- qpdf/qtest/qpdf/bad32-recover.out | 2 +- qpdf/qtest/qpdf/bad33-recover.out | 2 +- qpdf/qtest/qpdf/bad34-recover.out | 2 +- qpdf/qtest/qpdf/bad4-recover.out | 2 +- qpdf/qtest/qpdf/bad5-recover.out | 2 +- qpdf/qtest/qpdf/bad6-recover.out | 2 +- qpdf/qtest/qpdf/bad6.out | 2 +- qpdf/qtest/qpdf/bad8-recover.out | 2 +- qpdf/qtest/qpdf/bad9-recover.out | 2 +- qpdf/qtest/qpdf/good1.out | 2 +- qpdf/qtest/qpdf/good10.out | 2 +- qpdf/qtest/qpdf/good11.out | 2 +- qpdf/qtest/qpdf/good12.out | 2 +- qpdf/qtest/qpdf/good13.out | 2 +- qpdf/qtest/qpdf/good15.out | 2 +- qpdf/qtest/qpdf/good16.out | 2 +- qpdf/qtest/qpdf/good17.out | 2 +- qpdf/qtest/qpdf/good18.out | 2 +- qpdf/qtest/qpdf/good19.out | 2 +- qpdf/qtest/qpdf/good2.out | 2 +- qpdf/qtest/qpdf/good20.out | 2 +- qpdf/qtest/qpdf/good3.out | 2 +- qpdf/qtest/qpdf/good4.out | 2 +- qpdf/qtest/qpdf/good5.out | 2 +- qpdf/qtest/qpdf/good6.out | 2 +- qpdf/qtest/qpdf/good7.out | 2 +- qpdf/qtest/qpdf/good8.out | 2 +- qpdf/qtest/qpdf/good9.out | 2 +- qpdf/test_driver.cc | 4 +++- 48 files changed, 56 insertions(+), 52 deletions(-) diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index c42fa719..60304ed5 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -102,9 +102,9 @@ class QPDFObjectHandle // useful for doing rapid type tests (like switch statements) or // for testing and debugging. QPDF_DLL - QPDFObject::object_type_e getTypeCode() const; + QPDFObject::object_type_e getTypeCode(); QPDF_DLL - char const* getTypeName() const; + char const* getTypeName(); // Exactly one of these will return true for any object. Operator // and InlineImage are only allowed in content streams. diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index 0c6b0a9d..84db6003 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -87,10 +87,11 @@ QPDFObjectHandle::isInitialized() const } QPDFObject::object_type_e -QPDFObjectHandle::getTypeCode() const +QPDFObjectHandle::getTypeCode() { - if (obj.getPointer()) + if (this->initialized) { + dereference(); return obj->getTypeCode(); } else @@ -100,10 +101,11 @@ QPDFObjectHandle::getTypeCode() const } char const* -QPDFObjectHandle::getTypeName() const +QPDFObjectHandle::getTypeName() { - if (obj.getPointer()) + if (this->initialized) { + dereference(); return obj->getTypeName(); } else diff --git a/qpdf/qtest/qpdf/bad10-recover.out b/qpdf/qtest/qpdf/bad10-recover.out index 25de9bcc..32b12612 100644 --- a/qpdf/qtest/qpdf/bad10-recover.out +++ b/qpdf/qtest/qpdf/bad10-recover.out @@ -2,7 +2,7 @@ WARNING: bad10.pdf: file is damaged WARNING: bad10.pdf (trailer, file position 712): /Size key in trailer dictionary is not an integer WARNING: bad10.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad11-recover.out b/qpdf/qtest/qpdf/bad11-recover.out index 43bcd068..82e891b0 100644 --- a/qpdf/qtest/qpdf/bad11-recover.out +++ b/qpdf/qtest/qpdf/bad11-recover.out @@ -2,7 +2,7 @@ WARNING: bad11.pdf: file is damaged WARNING: bad11.pdf (trailer, file position 905): /Prev key in trailer dictionary is not an integer WARNING: bad11.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad12-recover.out b/qpdf/qtest/qpdf/bad12-recover.out index 97dfb642..0c07a7fd 100644 --- a/qpdf/qtest/qpdf/bad12-recover.out +++ b/qpdf/qtest/qpdf/bad12-recover.out @@ -1,6 +1,6 @@ WARNING: bad12.pdf: reported number of objects (9) inconsistent with actual number of objects (8) /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad12.out b/qpdf/qtest/qpdf/bad12.out index d07d74bd..666e92fd 100644 --- a/qpdf/qtest/qpdf/bad12.out +++ b/qpdf/qtest/qpdf/bad12.out @@ -1,6 +1,6 @@ WARNING: bad12.pdf: reported number of objects (9) inconsistent with actual number of objects (8) /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad2-recover.out b/qpdf/qtest/qpdf/bad2-recover.out index 569ca19c..7b16b963 100644 --- a/qpdf/qtest/qpdf/bad2-recover.out +++ b/qpdf/qtest/qpdf/bad2-recover.out @@ -2,7 +2,7 @@ WARNING: bad2.pdf: file is damaged WARNING: bad2.pdf: can't find startxref WARNING: bad2.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad22-recover.out b/qpdf/qtest/qpdf/bad22-recover.out index 41eb3e34..4a44fad9 100644 --- a/qpdf/qtest/qpdf/bad22-recover.out +++ b/qpdf/qtest/qpdf/bad22-recover.out @@ -1,5 +1,5 @@ WARNING: bad22.pdf (object 4 0, file position 341): attempting to recover stream length -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Qength 44 >> Raw stream data: BT diff --git a/qpdf/qtest/qpdf/bad23-recover.out b/qpdf/qtest/qpdf/bad23-recover.out index 773205a9..729e8d28 100644 --- a/qpdf/qtest/qpdf/bad23-recover.out +++ b/qpdf/qtest/qpdf/bad23-recover.out @@ -1,5 +1,5 @@ WARNING: bad23.pdf (object 4 0, file position 341): attempting to recover stream length -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Length () >> Raw stream data: BT diff --git a/qpdf/qtest/qpdf/bad25-recover.out b/qpdf/qtest/qpdf/bad25-recover.out index 23893d5d..6e40c85b 100644 --- a/qpdf/qtest/qpdf/bad25-recover.out +++ b/qpdf/qtest/qpdf/bad25-recover.out @@ -3,7 +3,7 @@ WARNING: bad25.pdf (object 4 0, file position 307): expected n n obj WARNING: bad25.pdf: Attempting to reconstruct cross-reference table WARNING: bad25.pdf: object 4 0 not found in file after regenerating cross reference table /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 4 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad26-recover.out b/qpdf/qtest/qpdf/bad26-recover.out index 248aff7d..ef1c02eb 100644 --- a/qpdf/qtest/qpdf/bad26-recover.out +++ b/qpdf/qtest/qpdf/bad26-recover.out @@ -3,7 +3,7 @@ WARNING: bad26.pdf (object 4 0, file position 307): expected n n obj WARNING: bad26.pdf: Attempting to reconstruct cross-reference table WARNING: bad26.pdf: object 4 0 not found in file after regenerating cross reference table /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 4 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad27-recover.out b/qpdf/qtest/qpdf/bad27-recover.out index f06203b5..b0967b34 100644 --- a/qpdf/qtest/qpdf/bad27-recover.out +++ b/qpdf/qtest/qpdf/bad27-recover.out @@ -3,7 +3,7 @@ WARNING: bad27.pdf (object 4 0, file position 307): expected n n obj WARNING: bad27.pdf: Attempting to reconstruct cross-reference table WARNING: bad27.pdf: object 4 0 not found in file after regenerating cross reference table /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 4 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad28-recover.out b/qpdf/qtest/qpdf/bad28-recover.out index 62322d92..ab152518 100644 --- a/qpdf/qtest/qpdf/bad28-recover.out +++ b/qpdf/qtest/qpdf/bad28-recover.out @@ -1,5 +1,5 @@ WARNING: bad28.pdf (object 4 0, file position 395): expected endobj -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Length 44 >> Raw stream data: BT diff --git a/qpdf/qtest/qpdf/bad28.out b/qpdf/qtest/qpdf/bad28.out index 11309bc5..fb02944e 100644 --- a/qpdf/qtest/qpdf/bad28.out +++ b/qpdf/qtest/qpdf/bad28.out @@ -1,5 +1,5 @@ WARNING: bad28.pdf (object 4 0, file position 395): expected endobj -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Length 44 >> Raw stream data: BT diff --git a/qpdf/qtest/qpdf/bad3-recover.out b/qpdf/qtest/qpdf/bad3-recover.out index e282d665..9d6438fa 100644 --- a/qpdf/qtest/qpdf/bad3-recover.out +++ b/qpdf/qtest/qpdf/bad3-recover.out @@ -2,7 +2,7 @@ WARNING: bad3.pdf: file is damaged WARNING: bad3.pdf (file position 542): xref not found WARNING: bad3.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad30-recover.out b/qpdf/qtest/qpdf/bad30-recover.out index 515bfbd5..5e228a58 100644 --- a/qpdf/qtest/qpdf/bad30-recover.out +++ b/qpdf/qtest/qpdf/bad30-recover.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter (FlateDecode) /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/bad30.out b/qpdf/qtest/qpdf/bad30.out index 515bfbd5..5e228a58 100644 --- a/qpdf/qtest/qpdf/bad30.out +++ b/qpdf/qtest/qpdf/bad30.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter (FlateDecode) /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/bad31-recover.out b/qpdf/qtest/qpdf/bad31-recover.out index 313e2083..527f27d0 100644 --- a/qpdf/qtest/qpdf/bad31-recover.out +++ b/qpdf/qtest/qpdf/bad31-recover.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter [ /Oink /Moo /FlateDecode ] /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/bad31.out b/qpdf/qtest/qpdf/bad31.out index 2ad01536..7f1cfb58 100644 --- a/qpdf/qtest/qpdf/bad31.out +++ b/qpdf/qtest/qpdf/bad31.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter [ /Oink /Moo /FlateDecode ] /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/bad32-recover.out b/qpdf/qtest/qpdf/bad32-recover.out index c038a297..4f8d5257 100644 --- a/qpdf/qtest/qpdf/bad32-recover.out +++ b/qpdf/qtest/qpdf/bad32-recover.out @@ -3,7 +3,7 @@ WARNING: bad32.pdf (object 4 0, file position 307): expected 4 0 obj WARNING: bad32.pdf: Attempting to reconstruct cross-reference table WARNING: bad32.pdf: object 4 0 not found in file after regenerating cross reference table /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 4 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad33-recover.out b/qpdf/qtest/qpdf/bad33-recover.out index 51dabe67..7cb645a7 100644 --- a/qpdf/qtest/qpdf/bad33-recover.out +++ b/qpdf/qtest/qpdf/bad33-recover.out @@ -1,7 +1,7 @@ WARNING: bad33.pdf: file is damaged WARNING: bad33.pdf (file position 1771): xref not found WARNING: bad33.pdf: Attempting to reconstruct cross-reference table -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter (FlateDecode) /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/bad34-recover.out b/qpdf/qtest/qpdf/bad34-recover.out index 08cc7bb1..3343be70 100644 --- a/qpdf/qtest/qpdf/bad34-recover.out +++ b/qpdf/qtest/qpdf/bad34-recover.out @@ -1,7 +1,7 @@ WARNING: bad34.pdf: file is damaged WARNING: bad34.pdf (object 4 0, file position 322): expected n n obj WARNING: bad34.pdf: Attempting to reconstruct cross-reference table -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Length 44 /Quack 9 0 R >> Raw stream data: BT diff --git a/qpdf/qtest/qpdf/bad4-recover.out b/qpdf/qtest/qpdf/bad4-recover.out index 508acea5..2aa06fbe 100644 --- a/qpdf/qtest/qpdf/bad4-recover.out +++ b/qpdf/qtest/qpdf/bad4-recover.out @@ -2,7 +2,7 @@ WARNING: bad4.pdf: file is damaged WARNING: bad4.pdf (xref table, file position 547): xref syntax invalid WARNING: bad4.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad5-recover.out b/qpdf/qtest/qpdf/bad5-recover.out index 75fe746e..7a0fd69d 100644 --- a/qpdf/qtest/qpdf/bad5-recover.out +++ b/qpdf/qtest/qpdf/bad5-recover.out @@ -2,7 +2,7 @@ WARNING: bad5.pdf: file is damaged WARNING: bad5.pdf (xref table, file position 591): invalid xref entry (obj=2) WARNING: bad5.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad6-recover.out b/qpdf/qtest/qpdf/bad6-recover.out index 1d31025f..9a222c13 100644 --- a/qpdf/qtest/qpdf/bad6-recover.out +++ b/qpdf/qtest/qpdf/bad6-recover.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad6.out b/qpdf/qtest/qpdf/bad6.out index 26b50cb6..1d054ae5 100644 --- a/qpdf/qtest/qpdf/bad6.out +++ b/qpdf/qtest/qpdf/bad6.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad8-recover.out b/qpdf/qtest/qpdf/bad8-recover.out index f55a7948..59b3b8c8 100644 --- a/qpdf/qtest/qpdf/bad8-recover.out +++ b/qpdf/qtest/qpdf/bad8-recover.out @@ -2,7 +2,7 @@ WARNING: bad8.pdf: file is damaged WARNING: bad8.pdf (file position 543): xref not found WARNING: bad8.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad9-recover.out b/qpdf/qtest/qpdf/bad9-recover.out index f795a156..b9608d1b 100644 --- a/qpdf/qtest/qpdf/bad9-recover.out +++ b/qpdf/qtest/qpdf/bad9-recover.out @@ -2,7 +2,7 @@ WARNING: bad9.pdf: file is damaged WARNING: bad9.pdf (trailer, file position 712): trailer dictionary lacks /Size key WARNING: bad9.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good1.out b/qpdf/qtest/qpdf/good1.out index 1d31025f..9a222c13 100644 --- a/qpdf/qtest/qpdf/good1.out +++ b/qpdf/qtest/qpdf/good1.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good10.out b/qpdf/qtest/qpdf/good10.out index 3c0bed95..0ae08058 100644 --- a/qpdf/qtest/qpdf/good10.out +++ b/qpdf/qtest/qpdf/good10.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type array (8) /QTest is an array with 3 items item 0 is direct item 1 is direct diff --git a/qpdf/qtest/qpdf/good11.out b/qpdf/qtest/qpdf/good11.out index 676a0343..2079096a 100644 --- a/qpdf/qtest/qpdf/good11.out +++ b/qpdf/qtest/qpdf/good11.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type dictionary (9) /QTest is a dictionary /a is direct unparse: << /a (a) /b 8 0 R >> diff --git a/qpdf/qtest/qpdf/good12.out b/qpdf/qtest/qpdf/good12.out index b75d27b1..11cd7089 100644 --- a/qpdf/qtest/qpdf/good12.out +++ b/qpdf/qtest/qpdf/good12.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter /FlateDecode /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/good13.out b/qpdf/qtest/qpdf/good13.out index a50358cb..7ff08b01 100644 --- a/qpdf/qtest/qpdf/good13.out +++ b/qpdf/qtest/qpdf/good13.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type dictionary (9) /QTest is a dictionary /hex strings is direct /indirect is indirect diff --git a/qpdf/qtest/qpdf/good15.out b/qpdf/qtest/qpdf/good15.out index 884ea6ed..8a670d11 100644 --- a/qpdf/qtest/qpdf/good15.out +++ b/qpdf/qtest/qpdf/good15.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type name (7) /QTest is a name with value /oink unparse: /oink unparseResolved: /oink diff --git a/qpdf/qtest/qpdf/good16.out b/qpdf/qtest/qpdf/good16.out index 1d31025f..9a222c13 100644 --- a/qpdf/qtest/qpdf/good16.out +++ b/qpdf/qtest/qpdf/good16.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good17.out b/qpdf/qtest/qpdf/good17.out index 1d31025f..9a222c13 100644 --- a/qpdf/qtest/qpdf/good17.out +++ b/qpdf/qtest/qpdf/good17.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good18.out b/qpdf/qtest/qpdf/good18.out index 1d31025f..9a222c13 100644 --- a/qpdf/qtest/qpdf/good18.out +++ b/qpdf/qtest/qpdf/good18.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good19.out b/qpdf/qtest/qpdf/good19.out index 1d31025f..9a222c13 100644 --- a/qpdf/qtest/qpdf/good19.out +++ b/qpdf/qtest/qpdf/good19.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good2.out b/qpdf/qtest/qpdf/good2.out index 1d31025f..9a222c13 100644 --- a/qpdf/qtest/qpdf/good2.out +++ b/qpdf/qtest/qpdf/good2.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good20.out b/qpdf/qtest/qpdf/good20.out index 1d31025f..9a222c13 100644 --- a/qpdf/qtest/qpdf/good20.out +++ b/qpdf/qtest/qpdf/good20.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good3.out b/qpdf/qtest/qpdf/good3.out index 7982e109..a3afbfc0 100644 --- a/qpdf/qtest/qpdf/good3.out +++ b/qpdf/qtest/qpdf/good3.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 7 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/good4.out b/qpdf/qtest/qpdf/good4.out index 7982e109..a3afbfc0 100644 --- a/qpdf/qtest/qpdf/good4.out +++ b/qpdf/qtest/qpdf/good4.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 7 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/good5.out b/qpdf/qtest/qpdf/good5.out index ff2e3fdf..db4239af 100644 --- a/qpdf/qtest/qpdf/good5.out +++ b/qpdf/qtest/qpdf/good5.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type boolean (3) /QTest is Boolean with value true unparse: 7 0 R unparseResolved: true diff --git a/qpdf/qtest/qpdf/good6.out b/qpdf/qtest/qpdf/good6.out index 17b498d1..3213c05a 100644 --- a/qpdf/qtest/qpdf/good6.out +++ b/qpdf/qtest/qpdf/good6.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type boolean (3) /QTest is Boolean with value false unparse: false unparseResolved: false diff --git a/qpdf/qtest/qpdf/good7.out b/qpdf/qtest/qpdf/good7.out index ab14fba0..5ea32052 100644 --- a/qpdf/qtest/qpdf/good7.out +++ b/qpdf/qtest/qpdf/good7.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type integer (4) /QTest is an integer with value 16059 unparse: 16059 unparseResolved: 16059 diff --git a/qpdf/qtest/qpdf/good8.out b/qpdf/qtest/qpdf/good8.out index e631e46a..ae23605b 100644 --- a/qpdf/qtest/qpdf/good8.out +++ b/qpdf/qtest/qpdf/good8.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type real (5) /QTest is a real number with value 3.14159 unparse: 7 0 R unparseResolved: 3.14159 diff --git a/qpdf/qtest/qpdf/good9.out b/qpdf/qtest/qpdf/good9.out index 75c40bc9..c481133f 100644 --- a/qpdf/qtest/qpdf/good9.out +++ b/qpdf/qtest/qpdf/good9.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type string (6) /QTest is a string with value Hola! unparse: (Hola!) unparseResolved: (Hola!) diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index 3863cdbe..ec6fcff0 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -232,7 +232,9 @@ void runtest(int n, char const* filename1, char const* arg2) qtest.isIndirect() ? 1 : 0); std::cout << "/QTest is " << (qtest.isIndirect() ? "in" : "") - << "direct" << std::endl; + << "direct and has type " + << qtest.getTypeName() + << " (" << qtest.getTypeCode() << ")" << std::endl; if (qtest.isNull()) { -- cgit v1.2.3-54-g00ecf