diff options
author | Jay Berkenbilt <ejb@ql.org> | 2021-01-24 10:16:48 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2021-01-25 21:39:10 +0100 |
commit | 5816fb44b8ce24e8bb58cb30792e1c763d6cb163 (patch) | |
tree | a213191f94c80095f3f6f8261883ccd8ff95cfb9 /qpdf | |
parent | 16a9bb3f6f63497946d0efbf403df92d0ce30745 (diff) | |
download | qpdf-5816fb44b8ce24e8bb58cb30792e1c763d6cb163.tar.zst |
name/number trees: insertAfter
Diffstat (limited to 'qpdf')
-rw-r--r-- | qpdf/qpdf.testcov | 1 | ||||
-rw-r--r-- | qpdf/qtest/qpdf/name-tree.out | 3 | ||||
-rw-r--r-- | qpdf/qtest/qpdf/number-tree.out | 3 | ||||
-rw-r--r-- | qpdf/test_driver.cc | 26 |
4 files changed, 33 insertions, 0 deletions
diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov index 996c565a..aa07b45f 100644 --- a/qpdf/qpdf.testcov +++ b/qpdf/qpdf.testcov @@ -552,3 +552,4 @@ NNTree bad node during find 0 NNTree node is not a dictionary 0 NNTree limits didn't change 0 NNTree increment end() 0 +NNTree insertAfter inserts first 0 diff --git a/qpdf/qtest/qpdf/name-tree.out b/qpdf/qtest/qpdf/name-tree.out index 2292d5d7..377d3ab5 100644 --- a/qpdf/qtest/qpdf/name-tree.out +++ b/qpdf/qtest/qpdf/name-tree.out @@ -16,6 +16,9 @@ 20 twenty -> twenty. 22 twenty-two -> twenty-two! 29 twenty-nine -> twenty-nine! +insertAfter +3 (3!) +4 (4!) /Empty1 /Empty2 /Bad1: deprecated API diff --git a/qpdf/qtest/qpdf/number-tree.out b/qpdf/qtest/qpdf/number-tree.out index 4ea689ce..d1ad8302 100644 --- a/qpdf/qtest/qpdf/number-tree.out +++ b/qpdf/qtest/qpdf/number-tree.out @@ -26,6 +26,9 @@ 22 twenty-two 23 twenty-three 29 twenty-nine +insertAfter +3 (3!) +4 (4!) /Bad1: deprecated API /Bad1 WARNING: number-tree.pdf (Name/Number tree node (object 14)): name/number tree node has neither non-empty /Nums nor /Kids diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index 526b0123..a0aab3a8 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -1802,6 +1802,19 @@ void runtest(int n, char const* filename1, char const* arg2) --iter1; assert((*iter1).first == 2); + std::cout << "insertAfter" << std::endl; + auto new2 = QPDFNumberTreeObjectHelper::newEmpty(pdf); + auto iter2 = new2.begin(); + assert(iter2 == new2.end()); + iter2.insertAfter(3, QPDFObjectHandle::newString("3!")); + assert((*iter2).first == 3); + iter2.insertAfter(4, QPDFObjectHandle::newString("4!")); + assert((*iter2).first == 4); + for (auto i: new2) + { + std::cout << i.first << " " << i.second.unparse() << std::endl; + } + // Exercise deprecated API until qpdf 11 std::cout << "/Bad1: deprecated API" << std::endl; auto bad1 = QPDFNumberTreeObjectHelper( @@ -1961,6 +1974,19 @@ void runtest(int n, char const* filename1, char const* arg2) --iter1; assert((*iter1).first == "2"); + std::cout << "insertAfter" << std::endl; + auto new2 = QPDFNameTreeObjectHelper::newEmpty(pdf); + auto iter2 = new2.begin(); + assert(iter2 == new2.end()); + iter2.insertAfter("3", QPDFObjectHandle::newString("3!")); + assert((*iter2).first == "3"); + iter2.insertAfter("4", QPDFObjectHandle::newString("4!")); + assert((*iter2).first == "4"); + for (auto i: new2) + { + std::cout << i.first << " " << i.second.unparse() << std::endl; + } + std::vector<std::string> empties = {"/Empty1", "/Empty2"}; for (auto const& k: empties) { |