summaryrefslogtreecommitdiffstats
path: root/qpdf
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2012-09-06 21:30:13 +0200
committerJay Berkenbilt <ejb@ql.org>2012-09-06 21:31:12 +0200
commitc1627d04385a02045e7a1a5462f2a632fc529a2e (patch)
tree5d0943df09ae6548932c12654a42d66095ee3b1f /qpdf
parentfc4c82a9501d13a398682c308fc24c4427cfd77e (diff)
downloadqpdf-c1627d04385a02045e7a1a5462f2a632fc529a2e.tar.zst
Add QPDFWriter::setExtraHeaderText
Diffstat (limited to 'qpdf')
-rw-r--r--qpdf/qpdf.testcov2
-rw-r--r--qpdf/qtest/qpdf.test18
-rw-r--r--qpdf/qtest/qpdf/extra-header-lin-newline.pdfbin0 -> 1334 bytes
-rw-r--r--qpdf/qtest/qpdf/extra-header-lin-no-newline.pdfbin0 -> 1334 bytes
-rw-r--r--qpdf/qtest/qpdf/extra-header-newline.pdfbin0 -> 823 bytes
-rw-r--r--qpdf/qtest/qpdf/extra-header-no-newline.pdfbin0 -> 823 bytes
-rw-r--r--qpdf/qtest/qpdf/test-32.out13
-rw-r--r--qpdf/test_driver.cc21
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
new file mode 100644
index 00000000..7a5ff3e6
--- /dev/null
+++ b/qpdf/qtest/qpdf/extra-header-lin-newline.pdf
Binary files differ
diff --git a/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf b/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf
new file mode 100644
index 00000000..e115c462
--- /dev/null
+++ b/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf
Binary files differ
diff --git a/qpdf/qtest/qpdf/extra-header-newline.pdf b/qpdf/qtest/qpdf/extra-header-newline.pdf
new file mode 100644
index 00000000..427623a7
--- /dev/null
+++ b/qpdf/qtest/qpdf/extra-header-newline.pdf
Binary files differ
diff --git a/qpdf/qtest/qpdf/extra-header-no-newline.pdf b/qpdf/qtest/qpdf/extra-header-no-newline.pdf
new file mode 100644
index 00000000..1df11d30
--- /dev/null
+++ b/qpdf/qtest/qpdf/extra-header-no-newline.pdf
Binary files differ
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 ") +