X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FOverloadedCommand.test.cc;h=184c3bafc7d31f84e64077207ecb148b0af91269;hb=bf1d8ba5ce6fc6a169a938183f8d01c8bdbccf32;hp=287920176471e009c008443cfa2df2f2b163c4c6;hpb=30c1daf8a1c404209210f76a9a54bcfde443603b;p=senf.git diff --git a/Console/OverloadedCommand.test.cc b/Console/OverloadedCommand.test.cc index 2879201..184c3ba 100644 --- a/Console/OverloadedCommand.test.cc +++ b/Console/OverloadedCommand.test.cc @@ -38,17 +38,17 @@ namespace { - void fn1(std::ostream &, senf::console::CommandOverload::Arguments const &) + void fn1(std::ostream &, senf::console::ParseCommandInfo const &) { throw senf::console::SyntaxErrorException("fn1 error"); } - void fn2(std::ostream &, senf::console::CommandOverload::Arguments const &) + void fn2(std::ostream &, senf::console::ParseCommandInfo const &) { throw senf::console::SyntaxErrorException("fn2 error"); } - void fn3(std::ostream & os, senf::console::CommandOverload::Arguments const &) + void fn3(std::ostream & os, senf::console::ParseCommandInfo const &) { os << "fn3\n"; } @@ -58,18 +58,28 @@ namespace { BOOST_AUTO_UNIT_TEST(overladedCommand) { senf::console::OverloadedCommandNode & cmd ( - senf::console::root().add("overload", senf::console::OverloadedCommandNode::create())); - cmd.add(senf::console::SimpleCommandOverload::create(&fn1)); - cmd.add(senf::console::SimpleCommandOverload::create(&fn2)); + senf::console::root() + .add("overload", senf::console::OverloadedCommandNode::create()) + .doc("cmd") ); + cmd.add(senf::console::SimpleCommandOverload::create(&fn1)).doc("fn1"); + cmd.add(senf::console::SimpleCommandOverload::create(&fn2)).doc("fn2"); - senf::console::ParseCommandInfo info; - std::stringstream ss; - BOOST_CHECK_THROW( senf::console::root()("overload")(ss, info.arguments()), - senf::console::SyntaxErrorException ); - - cmd.add(senf::console::SimpleCommandOverload::create(&fn3)); - BOOST_CHECK_NO_THROW( senf::console::root()("overload")(ss, info.arguments()) ); - BOOST_CHECK_EQUAL( ss.str(), "fn3\n" ); + { + senf::console::ParseCommandInfo info; + std::stringstream ss; + BOOST_CHECK_THROW( senf::console::root()("overload")(ss, info), + senf::console::SyntaxErrorException ); + + cmd.add(senf::console::SimpleCommandOverload::create(&fn3)).doc("fn3"); + BOOST_CHECK_NO_THROW( senf::console::root()("overload")(ss, info) ); + BOOST_CHECK_EQUAL( ss.str(), "fn3\n" ); + } + + { + std::stringstream ss; + cmd.help(ss); + BOOST_CHECK_EQUAL( ss.str(), "cmd\n\nfn1\n\nfn2\n\nfn3" ); + } cmd.unlink(); }