diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-01-06 20:26:32 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2022-01-30 19:11:03 +0100 |
commit | f1d805badc1ea09998fea9427687456717936ff7 (patch) | |
tree | b25a383d8b93c3a2c6dff6eb3a8be1acb39fddeb /libtests/arg_parser.cc | |
parent | c3e9b64e7fde8499f8543503bdfeeeb65512dcd7 (diff) | |
download | qpdf-f1d805badc1ea09998fea9427687456717936ff7.tar.zst |
Add QPDFArgParser::copyFromOtherTable
Diffstat (limited to 'libtests/arg_parser.cc')
-rw-r--r-- | libtests/arg_parser.cc | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/libtests/arg_parser.cc b/libtests/arg_parser.cc index a5a0bf35..a57b9c66 100644 --- a/libtests/arg_parser.cc +++ b/libtests/arg_parser.cc @@ -64,6 +64,10 @@ ArgParser::initOptions() ap.registerOptionTable("baaa", nullptr); ap.addBare("ewe", [this](){ output("you"); }); ap.addBare("ram", [this](){ output("ram"); }); + ap.selectMainOptionTable(); + ap.addBare("sheep", [this](){ this->ap.selectOptionTable("sheep"); }); + ap.registerOptionTable("sheep", nullptr); + ap.copyFromOtherTable("ewe", "baaa"); } void @@ -186,11 +190,28 @@ ArgParser::test_exceptions() { std::cout << "unknown table: " << e.what() << std::endl; } + try + { + ap.copyFromOtherTable("one", "two"); + assert(false); + } + catch (std::exception& e) + { + std::cout << "copy from unknown table: " << e.what() << std::endl; + } + try + { + ap.copyFromOtherTable("two", "baaa"); + assert(false); + } + catch (std::exception& e) + { + std::cout << "copy unknown from other table: " << e.what() << std::endl; + } } int main(int argc, char* argv[]) { - ArgParser ap(argc, argv); if ((argc == 2) && (strcmp(argv[1], "exceptions") == 0)) { |