diff options
author | Jay Berkenbilt <ejb@ql.org> | 2012-07-26 04:32:14 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2012-07-26 04:32:14 +0200 |
commit | f6893242148460170253ef0ae51a6cd4b5ec8f95 (patch) | |
tree | a1b1da811c10b11904a57434dc4d3f008e2d7a2f | |
parent | 9c00874e7786fa38e15e9a4ddf9767b63e88386d (diff) | |
download | qpdf-f6893242148460170253ef0ae51a6cd4b5ec8f95.tar.zst |
Restore coverage case
Previous commit lost coverage case for buffer-based replaceStreamData.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | examples/pdf-double-page-size.cc | 10 | ||||
-rw-r--r-- | qpdf/test_driver.cc | 18 |
3 files changed, 18 insertions, 16 deletions
@@ -1,3 +1,9 @@ +2012-07-25 Jay Berkenbilt <ejb@ql.org> + + * From Tobias: add QPDFObjectHandle::replaceStreamData that takes + a std::string analogous to the QPDFObjectHandle::newStream that + takes a string that was added earlier. + 2012-07-21 Jay Berkenbilt <ejb@ql.org> * Change configure to have image comparison tests disabled by diff --git a/examples/pdf-double-page-size.cc b/examples/pdf-double-page-size.cc index c2eb48a3..8a1867aa 100644 --- a/examples/pdf-double-page-size.cc +++ b/examples/pdf-double-page-size.cc @@ -61,12 +61,7 @@ int main(int argc, char* argv[]) char const* password = (argc == 4) ? argv[3] : ""; // Text to prepend to each page's contents - char const* content = "2 0 0 2 0 0 cm\n"; - - // Copy text into a buffer without the null terminator - PointerHolder<Buffer> b = new Buffer(strlen(content)); - unsigned char* bp = b->getBuffer(); - memcpy(bp, (unsigned char*)content, strlen(content)); + std::string content = "2 0 0 2 0 0 cm\n"; try { @@ -80,7 +75,8 @@ int main(int argc, char* argv[]) QPDFObjectHandle& page = *iter; // Prepend the buffer to the page's contents - page.addPageContents(QPDFObjectHandle::newStream(&qpdf, b), true); + page.addPageContents( + QPDFObjectHandle::newStream(&qpdf, content), true); // Double the size of each of the content boxes doubleBoxSize(page, "/MediaBox"); diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index 6cbb7882..3861c403 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -455,11 +455,9 @@ void runtest(int n, char const* filename1, char const* filename2) { throw std::logic_error("test 7 run on file with no QStream"); } - PointerHolder<Buffer> b = new Buffer(20); - unsigned char* bp = b->getBuffer(); - memcpy(bp, (char*)"new data for stream\n", 20); // no null! qstream.replaceStreamData( - b, QPDFObjectHandle::newNull(), QPDFObjectHandle::newNull()); + "new data for stream\n", + QPDFObjectHandle::newNull(), QPDFObjectHandle::newNull()); QPDFWriter w(pdf, "a.pdf"); w.setStaticID(true); w.setStreamDataMode(qpdf_s_preserve); @@ -509,8 +507,12 @@ void runtest(int n, char const* filename1, char const* filename2) else if (n == 9) { QPDFObjectHandle root = pdf.getRoot(); + // Explicitly exercise the Buffer version of newStream + PointerHolder<Buffer> buf = new Buffer(20); + unsigned char* bp = buf->getBuffer(); + memcpy(bp, (char*)"data for new stream\n", 20); // no null! QPDFObjectHandle qstream = QPDFObjectHandle::newStream( - &pdf, "data for new stream\n"); + &pdf, buf); QPDFObjectHandle rstream = QPDFObjectHandle::newStream(&pdf); try { @@ -521,11 +523,9 @@ void runtest(int n, char const* filename1, char const* filename2) { std::cout << "exception: " << e.what() << std::endl; } - PointerHolder<Buffer> buf = new Buffer(22); - unsigned char* bp = buf->getBuffer(); - memcpy(bp, (char*)"data for other stream\n", 22); // no null! rstream.replaceStreamData( - buf, QPDFObjectHandle::newNull(), QPDFObjectHandle::newNull()); + "data for other stream\n", + QPDFObjectHandle::newNull(), QPDFObjectHandle::newNull()); root.replaceKey("/QStream", qstream); root.replaceKey("/RStream", rstream); QPDFWriter w(pdf, "a.pdf"); |