X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FConfig.test.cc;h=680aafad5b6617f7722601efeafb3a0bbda9b90e;hb=93d9568d448749dc187e7622b733a4a3caa319df;hp=daefcca5f09dbcd56070c00f400392ec1aa4c436;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Utils/Console/Config.test.cc b/senf/Utils/Console/Config.test.cc index daefcca..680aafa 100644 --- a/senf/Utils/Console/Config.test.cc +++ b/senf/Utils/Console/Config.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 @@ -27,18 +27,14 @@ //#include "Config.test.ih" // Custom includes -#include "Config.hh" -#include "ScopedDirectory.hh" -#include "ParsedCommand.hh" -#include "ConfigFile.hh" -#include "ProgramOptions.hh" +#include "Console.hh" #include -#include "../../Utils/auto_unit_test.hh" +#include #include #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace { std::string val1; @@ -55,7 +51,7 @@ namespace { public: TempFile(std::string const & name) : name_ (name), file_ (name_.c_str()) {} ~TempFile() { file_.close(); boost::filesystem::remove(name_); } - + template TempFile & operator<<(T const & v) { file_ << v; return *this; } enum Closer { close }; void operator<<(Closer) { file_.close(); } std::string const & name() { return name_; } @@ -64,20 +60,37 @@ namespace { std::string name_; std::ofstream file_; }; + +} + +SENF_AUTO_UNIT_TEST(configBundle_empty) +{ + TempFile cfg ("test.cfg"); + cfg << TempFile::close; + + senf::console::ScopedDirectory<> root; + root.add("fun2", senf::console::factory::Command(&fun2)); + + senf::console::ConfigBundle bundle(root); + bundle.add( senf::console::FileConfig(cfg.name())); + + SENF_CHECK_NO_THROW( bundle.parse() ); } -BOOST_AUTO_UNIT_TEST(configBundle) +SENF_AUTO_UNIT_TEST(configBundle) { + namespace fty = senf::console::factory; + senf::console::ScopedDirectory<> root; senf::console::root().add("root", root); senf::console::ScopedDirectory<> chroot; senf::console::root().add("chroot", chroot); - root.mkdir("dir1").add("fun1", &fun1); - root.add("fun2", &fun2); - chroot.mkdir("dir1").add("fun1", &fun1); - chroot.add("fun2", &fun2); + root.add("dir1", fty::Directory()).add("fun1", fty::Command(&fun1)); + root.add("fun2", fty::Command(&fun2)); + chroot.add("dir1", fty::Directory()).add("fun1", fty::Command(&fun1)); + chroot.add("fun2", fty::Command(&fun2)); TempFile cfg ("test.cfg"); cfg << "dir1/fun1 foo; fun2;" << TempFile::close; @@ -91,14 +104,14 @@ BOOST_AUTO_UNIT_TEST(configBundle) SENF_CHECK_NO_THROW( bundle.parse() ); BOOST_CHECK_EQUAL( val1, "bar" ); BOOST_CHECK_EQUAL( val2, true ); - + bundle.chroot( chroot); SENF_CHECK_NO_THROW( bundle.parse() ); BOOST_CHECK_EQUAL( val1, "bar" ); BOOST_CHECK_EQUAL( val2, true ); } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_