// $Id$
//
-// Copyright (C) 2008
+// Copyright (C) 2008
// Fraunhofer Institute for Open Communication Systems (FOKUS)
// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
SENF_AUTO_UNIT_TEST(charTraits)
{
+ namespace fty = senf::console::factory;
+
senf::console::Executor executor;
senf::console::CommandParser parser;
senf::console::ScopedDirectory<> dir;
senf::console::root().add("test", dir);
std::stringstream ss;
- dir.add("test",&charTest);
- dir.add("stest",&scharTest);
- dir.add("utest",&ucharTest);
+ dir.add("test",fty::Command(&charTest));
+ dir.add("stest",fty::Command(&scharTest));
+ dir.add("utest",fty::Command(&ucharTest));
SENF_CHECK_NO_THROW(
parser.parse("test/test 10; test/test 20",
SENF_AUTO_UNIT_TEST(boolTraits)
{
+ namespace fty = senf::console::factory;
+
senf::console::Executor executor;
senf::console::CommandParser parser;
senf::console::ScopedDirectory<> dir;
senf::console::root().add("test", dir);
- dir.add("test", &boolTest);
+ dir.add("test", fty::Command(&boolTest));
std::stringstream ss;
SENF_CHECK_NO_THROW(
boost::bind<void>( boost::ref(executor), boost::ref(ss), _1 )) );
BOOST_CHECK_EQUAL( ss.str(), "true\n" "true\n" );
- dir.add("test2", &boolTest).formatter( senf::console::formatEnabledDisabled );
+ dir.add("test2", fty::Command(&boolTest).formatter( senf::console::formatEnabledDisabled ));
ss.str("");
SENF_CHECK_NO_THROW(
parser.parse("test/test2 0; test/test2 -1",
SENF_AUTO_UNIT_TEST(stringTraits)
{
- BOOST_CHECK_EQUAL(
+ BOOST_CHECK_EQUAL(
senf::console::ArgumentTraits<std::string>::str("Test\nOf\nA \"String\"\x01\x7f\xa0\xff"),
"\"Test\\x0aOf\\x0aA \\\"String\\\"\\x01\\x7f\\xa0\\xff\"" );
}
SENF_AUTO_UNIT_TEST(enumSupport)
{
+ namespace fty = senf::console::factory;
+
senf::console::Executor executor;
senf::console::CommandParser parser;
senf::console::ScopedDirectory<> dir;
senf::console::root().add("test", dir);
- dir.add("test",&test);
-
+ dir.add("test",fty::Command(&test));
+
std::stringstream ss;
SENF_CHECK_NO_THROW(
parser.parse("test/test Foo",
boost::bind<void>( boost::ref(executor), boost::ref(ss), _1 )),
senf::console::SyntaxErrorException );
- dir.add("member", &TestClass::test);
+ dir.add("member", fty::Command(&TestClass::test));
ss.str("");
SENF_CHECK_NO_THROW(
{
BOOST_CHECK( senf::console::ArgumentTraits<std::string>::singleToken );
BOOST_CHECK( senf::console::ArgumentTraits<int>::singleToken );
- BOOST_CHECK( ! senf::console::ArgumentTraits<
+ BOOST_CHECK( ! senf::console::ArgumentTraits<
senf::console::FlagCollection<TestEnum> >::singleToken );
}