diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-07-24 21:42:23 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2022-07-24 21:42:23 +0200 |
commit | b3e6d445cbf73da2b00062c3f639c2453041ee41 (patch) | |
tree | cf14f19721b0c555daa86371d93b069ce26c8013 /qpdf | |
parent | 3661f2749a07ebd3733dca944a4ee990b658d864 (diff) | |
download | qpdf-b3e6d445cbf73da2b00062c3f639c2453041ee41.tar.zst |
Tweak "AndGet" mutator functions again
Remove any ambiguity around whether old or new value is being
returned.
Diffstat (limited to 'qpdf')
-rw-r--r-- | qpdf/test_driver.cc | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index f1c1d72a..8378c8fa 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -1095,8 +1095,8 @@ test_27(QPDF& pdf, char const* arg2) QPDFObjectHandle s2 = QPDFObjectHandle::newStream(&oldpdf, "potato\n"); auto trailer = pdf.getTrailer(); trailer.replaceKey("/QTest", pdf.copyForeignObject(qtest)); - auto qtest2 = - trailer.replaceKeyAndGet("/QTest2", QPDFObjectHandle::newArray()); + auto qtest2 = trailer.replaceKeyAndGetNew( + "/QTest2", QPDFObjectHandle::newArray()); qtest2.appendItem(pdf.copyForeignObject(s1)); qtest2.appendItem(pdf.copyForeignObject(s2)); qtest2.appendItem(pdf.copyForeignObject(s3)); @@ -3165,15 +3165,23 @@ test_88(QPDF& pdf, char const* arg2) auto dict = QPDFObjectHandle::newDictionary(); dict.replaceKey("/One", QPDFObjectHandle::newInteger(1)); dict.replaceKey("/Two", QPDFObjectHandle::newInteger(2)); - auto three = dict.replaceKeyAndGet("/Three", QPDFObjectHandle::newArray()); + auto three = + dict.replaceKeyAndGetNew("/Three", QPDFObjectHandle::newArray()); three.appendItem("(a)"_qpdf); three.appendItem("(b)"_qpdf); - auto newdict = three.appendItemAndGet(QPDFObjectHandle::newDictionary()); + auto newdict = three.appendItemAndGetNew(QPDFObjectHandle::newDictionary()); newdict.replaceKey("/Z", "/Y"_qpdf); newdict.replaceKey("/X", "/W"_qpdf); + dict.replaceKey("/Quack", "[1 2 3]"_qpdf); + auto quack = dict.replaceKeyAndGetOld("/Quack", "/Moo"_qpdf); + assert(quack.unparse() == "[ 1 2 3 ]"); + auto nothing = + dict.replaceKeyAndGetOld("/NotThere", QPDFObjectHandle::newNull()); + assert(nothing.isNull()); assert(dict.unparse() == R"( << /One 1 + /Quack /Moo /Two 2 /Three [ (a) (b) << /Z /Y /X /W >> ] >> @@ -3184,7 +3192,7 @@ test_88(QPDF& pdf, char const* arg2) assert( arr.unparse() == "[ (00) (0) (a) (b) << /Z /Y /X /W >> ]"_qpdf.unparse()); - auto new_dict = arr.insertItemAndGet(1, "<< /P /Q /R /S >>"_qpdf); + auto new_dict = arr.insertItemAndGetNew(1, "<< /P /Q /R /S >>"_qpdf); arr.eraseItem(2); arr.eraseItem(0); assert( @@ -3200,20 +3208,20 @@ test_88(QPDF& pdf, char const* arg2) assert( arr.unparse() == "[ << /P /Q /T /U >> (a) (b) << /Z /Y /X /W >> ]"_qpdf.unparse()); - auto s = arr.eraseItemAndGet(1); + auto s = arr.eraseItemAndGetOld(1); assert(s.unparse() == "(a)"); assert( arr.unparse() == "[ << /P /Q /T /U >> (b) << /Z /Y /X /W >> ]"_qpdf.unparse()); - assert(new_dict.removeKeyAndGet("/M").isNull()); - assert(new_dict.removeKeyAndGet("/P").unparse() == "/Q"); + assert(new_dict.removeKeyAndGetOld("/M").isNull()); + assert(new_dict.removeKeyAndGetOld("/P").unparse() == "/Q"); assert(new_dict.unparse() == "<< /T /U >>"_qpdf.unparse()); // Test errors - auto arr2 = pdf.getRoot().replaceKeyAndGet("/QTest", "[1 2]"_qpdf); + auto arr2 = pdf.getRoot().replaceKeyAndGetNew("/QTest", "[1 2]"_qpdf); arr2.setObjectDescription(&pdf, "test array"); - assert(arr2.eraseItemAndGet(50).isNull()); + assert(arr2.eraseItemAndGetOld(50).isNull()); } static void |