X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FExecutor.test.cc;h=40eb06e63e822cd994e846f2d531a8e107875a38;hb=57daeae6f2e924ce3f16f9677c3474f531cba9e5;hp=31984909af695de3356eb60619d56cd290595350;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Utils/Console/Executor.test.cc b/senf/Utils/Console/Executor.test.cc index 3198490..40eb06e 100644 --- a/senf/Utils/Console/Executor.test.cc +++ b/senf/Utils/Console/Executor.test.cc @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2008 +// Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -29,13 +29,13 @@ // Custom includes #include #include -#include "Executor.hh" +#include "Console.hh" -#include "../../Utils/auto_unit_test.hh" +#include #include #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace { std::vector commands; @@ -47,23 +47,25 @@ namespace { } } -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("dir 1",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("cd \"dir 1\"", &setCommand); executor(os, commands.back()); BOOST_CHECK_EQUAL( commands.back().builtin(), senf::console::ParseCommandInfo::BuiltinCD ); - BOOST_CHECK( executor.cwd() == senf::console::root()["dir1"] ); - BOOST_CHECK_EQUAL( executor.cwdPath(), "/dir1" ); + BOOST_CHECK( executor.cwd() == senf::console::root()["dir 1"] ); + BOOST_CHECK_EQUAL( executor.cwdPath(), "/dir 1" ); BOOST_CHECK_EQUAL( os.str(), "" ); } @@ -78,7 +80,7 @@ BOOST_AUTO_UNIT_TEST(executor) { std::stringstream os; - parser.parse("cd dir1", &setCommand); + parser.parse("cd \"dir 1\"", &setCommand); BOOST_CHECK_THROW( executor(os, commands.back()), senf::console::SyntaxErrorException ); BOOST_CHECK_EQUAL( commands.back().builtin(), senf::console::ParseCommandInfo::BuiltinCD ); BOOST_CHECK( &executor.cwd() == &senf::console::root()["dir2"] ); @@ -99,15 +101,15 @@ BOOST_AUTO_UNIT_TEST(executor) parser.parse("ll", &setCommand); executor(os, commands.back()); BOOST_CHECK_EQUAL( commands.back().builtin(), senf::console::ParseCommandInfo::BuiltinLL ); - BOOST_CHECK_EQUAL( os.str(), - "dir1/ \n" + BOOST_CHECK_EQUAL( os.str(), + "dir 1/ \n" "dir2/ Helptext\n" "sys/ \n" ); } { std::stringstream os; - parser.parse("ll dir1", &setCommand); + parser.parse("ll \"dir 1\"", &setCommand); executor(os, commands.back()); BOOST_CHECK_EQUAL( commands.back().builtin(), senf::console::ParseCommandInfo::BuiltinLL ); BOOST_CHECK_EQUAL( os.str(), "dir3/ \n" ); @@ -120,14 +122,14 @@ BOOST_AUTO_UNIT_TEST(executor) BOOST_CHECK_EQUAL( commands.back().builtin(), senf::console::ParseCommandInfo::BuiltinLS ); BOOST_CHECK_EQUAL( os.str(), "" ); } - + { std::stringstream os; parser.parse("lr", &setCommand); executor(os, commands.back()); BOOST_CHECK_EQUAL( commands.back().builtin(), senf::console::ParseCommandInfo::BuiltinLR ); BOOST_CHECK_EQUAL( os.str().substr(0,213), - "dir1/ \n" + "dir 1/ \n" " dir3/ \n" "dir2/ Helptext\n" " test \n" @@ -136,10 +138,10 @@ BOOST_AUTO_UNIT_TEST(executor) { std::stringstream os; - parser.parse("dir1/dir3 { }", &setCommand); + parser.parse("\"dir 1\"/dir3 { }", &setCommand); executor(os, commands.rbegin()[1]); BOOST_CHECK_EQUAL( commands.rbegin()[1].builtin(), senf::console::ParseCommandInfo::BuiltinPUSHD ); - BOOST_CHECK( &executor.cwd() == &senf::console::root()["dir1"]["dir3"] ); + BOOST_CHECK( &executor.cwd() == &senf::console::root()["dir 1"]["dir3"] ); BOOST_CHECK_EQUAL( os.str(), "" ); } @@ -176,14 +178,17 @@ BOOST_AUTO_UNIT_TEST(executor) } commands.clear(); - senf::console::root().remove("dir1"); + senf::console::root().remove("dir 1"); 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; @@ -206,7 +211,7 @@ BOOST_AUTO_UNIT_TEST(executorChroot) } namespace { - + void testPolicy(senf::console::DirectoryNode & dir, std::string const & entry) { if (dir == senf::console::root() && entry == "dir2") @@ -214,10 +219,13 @@ namespace { } } -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; @@ -245,10 +253,13 @@ BOOST_AUTO_UNIT_TEST(executorPolicy) 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 @@ -279,20 +290,20 @@ BOOST_AUTO_UNIT_TEST(executorAuto) 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"); } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_