X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FNode.test.cc;h=0e0668d88a3cdee3fe6988a811df2877b4c09f2c;hb=456ee576285b76aa46240f8001f426757810dcc1;hp=f5a2c02799ce90d3c34494f0c9d2595ab4e7a8cf;hpb=2d5a1fd2cef2d84e16226a7336948f524fbb71c6;p=senf.git diff --git a/Console/Node.test.cc b/Console/Node.test.cc index f5a2c02..0e0668d 100644 --- a/Console/Node.test.cc +++ b/Console/Node.test.cc @@ -60,7 +60,7 @@ BOOST_AUTO_UNIT_TEST(gnericNode) } namespace { - void callback(std::ostream & os, senf::console::SimpleCommandNode::Arguments arguments) + void callback(std::ostream & os, senf::console::ParseCommandInfo const & command) { os << "callback"; } @@ -98,12 +98,28 @@ BOOST_AUTO_UNIT_TEST(directoryNode) children, children+sizeof(children)/sizeof(children[0]) ); + char const * const completions[] = { "dir1", "dir2" }; + BOOST_CHECK_EQUAL_COLLECTIONS( + boost::make_transform_iterator(senf::console::root().completions("dir").begin(), + select1st()), + boost::make_transform_iterator(senf::console::root().completions("dir").end(), + select1st()), + completions, + completions+sizeof(completions)/sizeof(completions[0]) ); + char const * const path[] = { "..", "dir2", "dir3" }; BOOST_CHECK( &senf::console::root()["dir1"].traverse( boost::make_iterator_range( path, path+sizeof(path)/sizeof(path[0])) ) == &senf::console::root()["dir2"]["dir3"] ); + char const * const incompletePath[] = { "d" }; + BOOST_CHECK( &senf::console::root()["dir2"].traverse( boost::make_iterator_range( + incompletePath, + incompletePath+sizeof(incompletePath)/sizeof(incompletePath[0])), + true ) + == &senf::console::root()["dir2"]["dir3"] ); + p->doc("test doc"); std::stringstream ss; p->help(ss); @@ -118,8 +134,7 @@ BOOST_AUTO_UNIT_TEST(directoryNode) namespace { struct Functor { - void operator()(std::ostream & os, - senf::console::SimpleCommandNode::Arguments const &) { + void operator()(std::ostream & os, senf::console::ParseCommandInfo const &) { os << "functor"; } }; @@ -134,13 +149,13 @@ BOOST_AUTO_UNIT_TEST(senfConsoleAddNode) { std::stringstream ss; - senf::console::root()("fn1")(ss, info.arguments()); + senf::console::root()("fn1")(ss, info); BOOST_CHECK_EQUAL( ss.str(), "callback" ); } { std::stringstream ss; - senf::console::root()("fn2")(ss, info.arguments()); + senf::console::root()("fn2")(ss, info); BOOST_CHECK_EQUAL( ss.str(), "functor" ); } @@ -155,7 +170,7 @@ BOOST_AUTO_UNIT_TEST(simpleCommandNode) { std::stringstream ss; senf::console::ParseCommandInfo info; - senf::console::root()("fn")(ss, info.arguments()); + senf::console::root()("fn")(ss, info); BOOST_CHECK_EQUAL( ss.str(), "callback" ); }