// $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>
// Custom includes
#include <sstream>
#include <vector>
-#include "Executor.hh"
+#include "Console.hh"
-#include "../../Utils/auto_unit_test.hh"
+#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
#define prefix_
}
}
-BOOST_AUTO_UNIT_TEST(executor)
+SENF_AUTO_UNIT_TEST(executor)
{
- senf::console::root().mkdir("dir1").mkdir("dir3");
- senf::console::root().mkdir("dir2").doc("Helptext").add("test",&testCommand);
+ namespace fty = senf::console::factory;
+
+ senf::console::root().add("dir1",fty::Directory()).add("dir3",fty::Directory());
+ senf::console::root().add("dir2",fty::Directory()).doc("Helptext").add("test",fty::Command(&testCommand));
senf::console::Executor executor;
senf::console::CommandParser parser;
BOOST_CHECK( &executor.cwd() == &senf::console::root() );
-
+
{
std::stringstream os;
parser.parse("cd dir1", &setCommand);
parser.parse("ll", &setCommand);
executor(os, commands.back());
BOOST_CHECK_EQUAL( commands.back().builtin(), senf::console::ParseCommandInfo::BuiltinLL );
- BOOST_CHECK_EQUAL( os.str(),
+ BOOST_CHECK_EQUAL( os.str(),
"dir1/ \n"
"dir2/ Helptext\n"
"sys/ \n" );
BOOST_CHECK_EQUAL( commands.back().builtin(), senf::console::ParseCommandInfo::BuiltinLS );
BOOST_CHECK_EQUAL( os.str(), "" );
}
-
+
{
std::stringstream os;
parser.parse("lr", &setCommand);
senf::console::root().remove("dir2");
}
-BOOST_AUTO_UNIT_TEST(executorChroot)
+SENF_AUTO_UNIT_TEST(executorChroot)
{
- senf::console::root().mkdir("dir1").mkdir("dir3");
- senf::console::root().mkdir("dir2").doc("Helptext").add("test",&testCommand);
+ namespace fty = senf::console::factory;
+
+ senf::console::root().add("dir1",fty::Directory()).add("dir3",fty::Directory());
+ senf::console::root().add("dir2",fty::Directory().doc("Helptext"))
+ .add("test", fty::Command(&testCommand));
senf::console::Executor executor;
senf::console::CommandParser parser;
}
namespace {
-
+
void testPolicy(senf::console::DirectoryNode & dir, std::string const & entry)
{
if (dir == senf::console::root() && entry == "dir2")
}
}
-BOOST_AUTO_UNIT_TEST(executorPolicy)
+SENF_AUTO_UNIT_TEST(executorPolicy)
{
- senf::console::root().mkdir("dir1").mkdir("dir3");
- senf::console::root().mkdir("dir2").doc("Helptext").add("test",&testCommand);
+ namespace fty = senf::console::factory;
+
+ senf::console::root().add("dir1",fty::Directory()).add("dir3",fty::Directory());
+ senf::console::root().add("dir2",fty::Directory().doc("Helptext"))
+ .add("test",fty::Command(&testCommand));
senf::console::Executor executor;
senf::console::CommandParser parser;
senf::console::root().remove("dir2");
}
-BOOST_AUTO_UNIT_TEST(executorAuto)
+SENF_AUTO_UNIT_TEST(executorAuto)
{
- senf::console::root().mkdir("tdir1").mkdir("dir3");
- senf::console::root().mkdir("dir2").doc("Helptext").add("test",&testCommand);
+ namespace fty = senf::console::factory;
+
+ senf::console::root().add("tdir1",fty::Directory()).add("dir3",fty::Directory());
+ senf::console::root().add("dir2",fty::Directory().doc("Helptext"))
+ .add("test",fty::Command(&testCommand));
senf::console::Executor executor;
executor
BOOST_CHECK_EQUAL( executor.cwdPath(), "/dir2" );
BOOST_CHECK_EQUAL( os.str(), "" );
}
-
+
{
std::stringstream os;
parser.parse("t", &setCommand);
executor(os, commands.back());
BOOST_CHECK_EQUAL( os.str(), "testCommand\n" );
}
-
+
commands.clear();
senf::console::root().remove("tdir1");
senf::console::root().remove("dir2");