}
namespace {
- void callback(std::ostream & os, senf::console::SimpleCommandNode::Arguments arguments)
+ void callback(std::ostream & os, senf::console::ParseCommandInfo const & command)
{
os << "callback";
}
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<std::string const &>()),
+ boost::make_transform_iterator(senf::console::root().completions("dir").end(),
+ select1st<std::string const &>()),
+ 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);
namespace {
struct Functor {
- void operator()(std::ostream & os,
- senf::console::SimpleCommandNode::Arguments const &) {
+ void operator()(std::ostream & os, senf::console::ParseCommandInfo const &) {
os << "functor";
}
};
{
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" );
}
{
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" );
}