diff options
author | Jay Berkenbilt <ejb@ql.org> | 2012-09-06 21:30:13 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2012-09-06 21:31:12 +0200 |
commit | c1627d04385a02045e7a1a5462f2a632fc529a2e (patch) | |
tree | 5d0943df09ae6548932c12654a42d66095ee3b1f /qpdf | |
parent | fc4c82a9501d13a398682c308fc24c4427cfd77e (diff) | |
download | qpdf-c1627d04385a02045e7a1a5462f2a632fc529a2e.tar.zst |
Add QPDFWriter::setExtraHeaderText
Diffstat (limited to 'qpdf')
-rw-r--r-- | qpdf/qpdf.testcov | 2 | ||||
-rw-r--r-- | qpdf/qtest/qpdf.test | 18 | ||||
-rw-r--r-- | qpdf/qtest/qpdf/extra-header-lin-newline.pdf | bin | 0 -> 1334 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf | bin | 0 -> 1334 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/extra-header-newline.pdf | bin | 0 -> 823 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/extra-header-no-newline.pdf | bin | 0 -> 823 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/test-32.out | 13 | ||||
-rw-r--r-- | qpdf/test_driver.cc | 21 |
8 files changed, 53 insertions, 1 deletions
diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov index 0e062af4..f9663375 100644 --- a/qpdf/qpdf.testcov +++ b/qpdf/qpdf.testcov @@ -240,3 +240,5 @@ QPDFObjectHandle trailing data in parse 0 qpdf pages encryption password 0 QPDF_Tokenizer EOF reading token 0 QPDF_Tokenizer EOF reading appendable token 0 +QPDFWriter extra header text no newline 0 +QPDFWriter extra header text add newline 0 diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test index b2ee28eb..d12f0644 100644 --- a/qpdf/qtest/qpdf.test +++ b/qpdf/qtest/qpdf.test @@ -149,7 +149,7 @@ $td->runtest("remove page we don't have", $td->NORMALIZE_NEWLINES); # ---------- $td->notify("--- Miscellaneous Tests ---"); -$n_tests += 48; +$n_tests += 53; $td->runtest("qpdf version", {$td->COMMAND => "qpdf --version"}, @@ -387,6 +387,22 @@ $td->runtest("EOF reading token", {$td->COMMAND => "qpdf --check eof-reading-token.pdf"}, {$td->FILE => "eof-reading-token.out", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); +$td->runtest("extra header text", + {$td->COMMAND => "test_driver 32 minimal.pdf"}, + {$td->FILE => "test-32.out", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +$td->runtest("check output", + {$td->FILE => "a.pdf"}, + {$td->FILE => "extra-header-no-newline.pdf"}); +$td->runtest("check output", + {$td->FILE => "b.pdf"}, + {$td->FILE => "extra-header-lin-no-newline.pdf"}); +$td->runtest("check output", + {$td->FILE => "c.pdf"}, + {$td->FILE => "extra-header-newline.pdf"}); +$td->runtest("check output", + {$td->FILE => "d.pdf"}, + {$td->FILE => "extra-header-lin-newline.pdf"}); show_ntests(); # ---------- diff --git a/qpdf/qtest/qpdf/extra-header-lin-newline.pdf b/qpdf/qtest/qpdf/extra-header-lin-newline.pdf Binary files differnew file mode 100644 index 00000000..7a5ff3e6 --- /dev/null +++ b/qpdf/qtest/qpdf/extra-header-lin-newline.pdf diff --git a/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf b/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf Binary files differnew file mode 100644 index 00000000..e115c462 --- /dev/null +++ b/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf diff --git a/qpdf/qtest/qpdf/extra-header-newline.pdf b/qpdf/qtest/qpdf/extra-header-newline.pdf Binary files differnew file mode 100644 index 00000000..427623a7 --- /dev/null +++ b/qpdf/qtest/qpdf/extra-header-newline.pdf diff --git a/qpdf/qtest/qpdf/extra-header-no-newline.pdf b/qpdf/qtest/qpdf/extra-header-no-newline.pdf Binary files differnew file mode 100644 index 00000000..1df11d30 --- /dev/null +++ b/qpdf/qtest/qpdf/extra-header-no-newline.pdf diff --git a/qpdf/qtest/qpdf/test-32.out b/qpdf/qtest/qpdf/test-32.out new file mode 100644 index 00000000..ff8d922b --- /dev/null +++ b/qpdf/qtest/qpdf/test-32.out @@ -0,0 +1,13 @@ +file: a.pdf +linearized: no +newline: no +file: b.pdf +linearized: yes +newline: no +file: c.pdf +linearized: no +newline: yes +file: d.pdf +linearized: yes +newline: yes +test 32 done diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index b277cdf1..311097f6 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -1091,6 +1091,27 @@ void runtest(int n, char const* filename1, char const* filename2) << std::endl; } } + else if (n == 32) + { + // Extra header text + char const* filenames[] = {"a.pdf", "b.pdf", "c.pdf", "d.pdf"}; + for (int i = 0; i < 4; ++i) + { + bool linearized = ((i & 1) != 0); + bool newline = ((i & 2) != 0); + QPDFWriter w(pdf, filenames[i]); + w.setStaticID(true); + std::cout + << "file: " << filenames[i] << std::endl + << "linearized: " << (linearized ? "yes" : "no") << std::endl + << "newline: " << (newline ? "yes" : "no") << std::endl; + w.setLinearization(linearized); + w.setExtraHeaderText(newline + ? "%% Comment with newline\n" + : "%% Comment\n% No newline"); + w.write(); + } + } else { throw std::runtime_error(std::string("invalid test ") + |