summaryrefslogtreecommitdiffstats
path: root/qpdf
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2012-12-30 19:28:37 +0100
committerJay Berkenbilt <ejb@ql.org>2012-12-31 16:32:32 +0100
commit4237a29c9492653e1be869d603e1b5bf87833682 (patch)
treed7e6e4a91787d224f8bc9b3e7c15ad9d56f42b6d /qpdf
parente57c25814e49b82863753894ee7d97c18e4c4525 (diff)
downloadqpdf-4237a29c9492653e1be869d603e1b5bf87833682.tar.zst
Refactor Dictionary writing code
Original code was written before we could shallow copy objects, so all the filtering was done by suppressing the output of certain keys and replacing them with other keys. Now we can simplify the code greatly by modifying shallow copies of dictionaries in place.
Diffstat (limited to 'qpdf')
-rw-r--r--qpdf/qpdf.testcov3
-rw-r--r--qpdf/qtest/qpdf.test2
-rw-r--r--qpdf/qtest/qpdf/extensions-adbe-force-1.8.5.qdf19
-rw-r--r--qpdf/qtest/qpdf/extensions-adbe-other-force-1.8.5.qdf19
-rw-r--r--qpdf/qtest/qpdf/extensions-none-force-1.8.5.qdf21
-rw-r--r--qpdf/qtest/qpdf/extensions-other-force-1.8.5.qdf19
6 files changed, 48 insertions, 35 deletions
diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov
index fd80bfb2..4ade4e7e 100644
--- a/qpdf/qpdf.testcov
+++ b/qpdf/qpdf.testcov
@@ -249,9 +249,8 @@ QPDFWriter make Extensions direct 0
QPDFWriter make ADBE direct 1
QPDFWriter preserve Extensions 0
QPDFWriter create Extensions 1
-QPDFWriter skip ADBE 0
+QPDFWriter remove ADBE 0
QPDFWriter remove existing Extensions 0
-QPDFWriter skip Extensions 0
QPDFWriter preserve ADBE 0
QPDF_encryption skip 0x28 0
QPDF_encrypt crypt array 0
diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test
index 58bc764f..47afbcf2 100644
--- a/qpdf/qtest/qpdf.test
+++ b/qpdf/qtest/qpdf.test
@@ -134,7 +134,7 @@ foreach my $input (@ext_inputs)
"qpdf --static-id" .
" --$op-version=$version $input a.pdf"},
{$td->STRING => "", $td->EXIT_STATUS => 0});
- $td->runtest("check version information",
+ $td->runtest("check version information ($op $version)",
{$td->COMMAND => "test_driver 34 a.pdf"},
{$td->FILE => "$base-$op-$version.out",
$td->EXIT_STATUS => 0},
diff --git a/qpdf/qtest/qpdf/extensions-adbe-force-1.8.5.qdf b/qpdf/qtest/qpdf/extensions-adbe-force-1.8.5.qdf
index 111ed12a..efd08ba9 100644
--- a/qpdf/qtest/qpdf/extensions-adbe-force-1.8.5.qdf
+++ b/qpdf/qtest/qpdf/extensions-adbe-force-1.8.5.qdf
@@ -6,7 +6,10 @@
1 0 obj
<<
/Extensions <<
- /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >>
+ /ADBE <<
+ /BaseVersion /1.8
+ /ExtensionLevel 5
+ >>
>>
/Pages 2 0 R
/Type /Catalog
@@ -88,17 +91,17 @@ xref
0 8
0000000000 65535 f
0000000052 00000 n
-0000000207 00000 n
-0000000316 00000 n
-0000000558 00000 n
-0000000657 00000 n
-0000000703 00000 n
-0000000848 00000 n
+0000000223 00000 n
+0000000332 00000 n
+0000000574 00000 n
+0000000673 00000 n
+0000000719 00000 n
+0000000864 00000 n
trailer <<
/Root 1 0 R
/Size 8
/ID [<e42c124696c09bd2cacaf7196e9c88a0><31415926535897932384626433832795>]
>>
startxref
-883
+899
%%EOF
diff --git a/qpdf/qtest/qpdf/extensions-adbe-other-force-1.8.5.qdf b/qpdf/qtest/qpdf/extensions-adbe-other-force-1.8.5.qdf
index 5993af1f..e391af0c 100644
--- a/qpdf/qtest/qpdf/extensions-adbe-other-force-1.8.5.qdf
+++ b/qpdf/qtest/qpdf/extensions-adbe-other-force-1.8.5.qdf
@@ -6,7 +6,10 @@
1 0 obj
<<
/Extensions <<
- /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >>
+ /ADBE <<
+ /BaseVersion /1.8
+ /ExtensionLevel 5
+ >>
/Potato <<
/BaseVersion /3.14159
/ExtensionLevel 16059
@@ -92,17 +95,17 @@ xref
0 8
0000000000 65535 f
0000000052 00000 n
-0000000285 00000 n
-0000000394 00000 n
-0000000636 00000 n
-0000000735 00000 n
-0000000781 00000 n
-0000000926 00000 n
+0000000301 00000 n
+0000000410 00000 n
+0000000652 00000 n
+0000000751 00000 n
+0000000797 00000 n
+0000000942 00000 n
trailer <<
/Root 1 0 R
/Size 8
/ID [<484577389048fa45fc00a1f5b434efa5><31415926535897932384626433832795>]
>>
startxref
-961
+977
%%EOF
diff --git a/qpdf/qtest/qpdf/extensions-none-force-1.8.5.qdf b/qpdf/qtest/qpdf/extensions-none-force-1.8.5.qdf
index c6f9a1f6..230c1c07 100644
--- a/qpdf/qtest/qpdf/extensions-none-force-1.8.5.qdf
+++ b/qpdf/qtest/qpdf/extensions-none-force-1.8.5.qdf
@@ -5,7 +5,12 @@
%% Original object ID: 1 0
1 0 obj
<<
- /Extensions << /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> >>
+ /Extensions <<
+ /ADBE <<
+ /BaseVersion /1.8
+ /ExtensionLevel 5
+ >>
+ >>
/Pages 2 0 R
/Type /Catalog
>>
@@ -86,17 +91,17 @@ xref
0 8
0000000000 65535 f
0000000052 00000 n
-0000000201 00000 n
-0000000310 00000 n
-0000000552 00000 n
-0000000651 00000 n
-0000000697 00000 n
-0000000842 00000 n
+0000000223 00000 n
+0000000332 00000 n
+0000000574 00000 n
+0000000673 00000 n
+0000000719 00000 n
+0000000864 00000 n
trailer <<
/Root 1 0 R
/Size 8
/ID [<31415926535897932384626433832795><31415926535897932384626433832795>]
>>
startxref
-877
+899
%%EOF
diff --git a/qpdf/qtest/qpdf/extensions-other-force-1.8.5.qdf b/qpdf/qtest/qpdf/extensions-other-force-1.8.5.qdf
index 3c596f7d..a4ffae3a 100644
--- a/qpdf/qtest/qpdf/extensions-other-force-1.8.5.qdf
+++ b/qpdf/qtest/qpdf/extensions-other-force-1.8.5.qdf
@@ -6,7 +6,10 @@
1 0 obj
<<
/Extensions <<
- /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >>
+ /ADBE <<
+ /BaseVersion /1.8
+ /ExtensionLevel 5
+ >>
/Potato <<
/BaseVersion /3.14159
/ExtensionLevel 16059
@@ -92,17 +95,17 @@ xref
0 8
0000000000 65535 f
0000000052 00000 n
-0000000285 00000 n
-0000000394 00000 n
-0000000636 00000 n
-0000000735 00000 n
-0000000781 00000 n
-0000000926 00000 n
+0000000301 00000 n
+0000000410 00000 n
+0000000652 00000 n
+0000000751 00000 n
+0000000797 00000 n
+0000000942 00000 n
trailer <<
/Root 1 0 R
/Size 8
/ID [<369e89600ee1a6c4c7e73533610180c2><31415926535897932384626433832795>]
>>
startxref
-961
+977
%%EOF