X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FExecutor.test.cc;h=5b3c11009a5adf1af5a12673891f326400f23ba9;hb=0003d55730b447329342161d12cf2ed23b63459e;hp=24bd307802f54bf4f2fb669ddc06ce61c3bd9ecb;hpb=9cb871b939efe93e35dd96808d25089399acfc46;p=senf.git diff --git a/senf/Utils/Console/Executor.test.cc b/senf/Utils/Console/Executor.test.cc index 24bd307..5b3c110 100644 --- a/senf/Utils/Console/Executor.test.cc +++ b/senf/Utils/Console/Executor.test.cc @@ -2,23 +2,28 @@ // // Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY -// Stefan Bund // -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. +// The contents of this file are subject to the Fraunhofer FOKUS Public License +// Version 1.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// http://senf.berlios.de/license.html // -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// The Fraunhofer FOKUS Public License Version 1.0 is based on, +// but modifies the Mozilla Public License Version 1.1. +// See the full license text for the amendments. // -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// Software distributed under the License is distributed on an "AS IS" basis, +// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +// for the specific language governing rights and limitations under the License. +// +// The Original Code is Fraunhofer FOKUS code. +// +// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. +// (registered association), Hansastraße 27 c, 80686 Munich, Germany. +// All Rights Reserved. +// +// Contributor(s): +// Stefan Bund /** \file \brief Executor unit tests */ @@ -35,7 +40,7 @@ #include #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace { std::vector commands; @@ -51,7 +56,7 @@ SENF_AUTO_UNIT_TEST(executor) { namespace fty = senf::console::factory; - senf::console::root().add("dir1",fty::Directory()).add("dir3",fty::Directory()); + 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; @@ -61,11 +66,11 @@ SENF_AUTO_UNIT_TEST(executor) { 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(), "" ); } @@ -80,7 +85,7 @@ SENF_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"] ); @@ -102,14 +107,14 @@ SENF_AUTO_UNIT_TEST(executor) executor(os, commands.back()); BOOST_CHECK_EQUAL( commands.back().builtin(), senf::console::ParseCommandInfo::BuiltinLL ); BOOST_CHECK_EQUAL( os.str(), - "dir1/ \n" + "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" ); @@ -129,7 +134,7 @@ SENF_AUTO_UNIT_TEST(executor) 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" @@ -138,10 +143,10 @@ SENF_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(), "" ); } @@ -178,7 +183,7 @@ SENF_AUTO_UNIT_TEST(executor) } commands.clear(); - senf::console::root().remove("dir1"); + senf::console::root().remove("dir 1"); senf::console::root().remove("dir2"); } @@ -303,7 +308,7 @@ SENF_AUTO_UNIT_TEST(executorAuto) senf::console::root().remove("dir2"); } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_