X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FObjectDirectory.test.cc;h=a8e99af897cec2f0f7c9d121f4e4b2f28175a372;hb=f85e1ac1d9bddeafd54b2171b8c7dd611842f7d3;hp=1c5ac825cc3aeea77de713240323502c5219a3af;hpb=9c0078ac0054789badff2a987364ed0448b080ef;p=senf.git diff --git a/Console/ObjectDirectory.test.cc b/Console/ObjectDirectory.test.cc index 1c5ac82..a8e99af 100644 --- a/Console/ObjectDirectory.test.cc +++ b/Console/ObjectDirectory.test.cc @@ -27,6 +27,7 @@ //#include "ObjectDirectory.test.ih" // Custom includes +#include #include "ObjectDirectory.hh" #include @@ -35,8 +36,33 @@ #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// -BOOST_AUTO_UNIT_TEST(ownerDirectory) -{} +namespace { + struct TestObject { + typedef TestObject Self; + + senf::console::ObjectDirectory dir; + TestObject() : dir(this) { + dir.add("member", &Self::member); + } + + void member(std::ostream & os, senf::console::CommandNode::Arguments const &) { + os << "member"; + } + }; +} + +BOOST_AUTO_UNIT_TEST(objectDirectory) +{ + { + TestObject ob; + senf::console::root().add("ob",ob.dir); + std::stringstream ss; + senf::console::ParseCommandInfo info; + senf::console::root()["ob"]("member")(ss, info.arguments()); + BOOST_CHECK_EQUAL( ss.str(), "member" ); + } + BOOST_CHECK_THROW( senf::console::root()["ob"], senf::console::UnknownNodeNameException ); +} ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_