X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FConfig.test.cc;h=b14b19edf1e8ae3aef05e36517d0259875e9e7e6;hb=e51092f863379f57e46063900168b059d3dc1167;hp=2e830da1a7c78cd4f4b9ef40365e70133cc769e8;hpb=7d62c38fca85add3e5a04f0518d6f1417fa6ca69;p=senf.git diff --git a/senf/Utils/Console/Config.test.cc b/senf/Utils/Console/Config.test.cc index 2e830da..b14b19e 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 @@ -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) @@ -90,7 +104,7 @@ 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" );