X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FConfig.test.cc;h=680aafad5b6617f7722601efeafb3a0bbda9b90e;hb=4101c2b818ec67e7469ebb44f030eed2185c4ab0;hp=a952491b5827cd364d73005516b7cbb2e1ec0cea;hpb=f13780e9e4da7df981d6f6542fbdc714beb34765;p=senf.git diff --git a/senf/Utils/Console/Config.test.cc b/senf/Utils/Console/Config.test.cc index a952491..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 @@ -34,7 +34,7 @@ #include #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace { std::string val1; @@ -51,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_; } @@ -60,7 +60,21 @@ 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() ); } SENF_AUTO_UNIT_TEST(configBundle) @@ -73,9 +87,9 @@ SENF_AUTO_UNIT_TEST(configBundle) senf::console::ScopedDirectory<> chroot; senf::console::root().add("chroot", chroot); - root.mkdir("dir1").add("fun1", fty::Command(&fun1)); + root.add("dir1", fty::Directory()).add("fun1", fty::Command(&fun1)); root.add("fun2", fty::Command(&fun2)); - chroot.mkdir("dir1").add("fun1", fty::Command(&fun1)); + chroot.add("dir1", fty::Directory()).add("fun1", fty::Command(&fun1)); chroot.add("fun2", fty::Command(&fun2)); TempFile cfg ("test.cfg"); @@ -90,14 +104,14 @@ SENF_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_