diff --git a/src/tests/config.cpp b/src/tests/config.cpp index 2f52467770f404611f7c563db07cc07e3e13e4ed..24776a7437a5d9d61f390b28e41d4d99a8029649 100644 --- a/src/tests/config.cpp +++ b/src/tests/config.cpp @@ -28,6 +28,8 @@ class ConfigTest : public CPPUNIT_NS :: TestFixture{ CPPUNIT_TEST(updateBackendConfig); CPPUNIT_TEST(unregisteredList); CPPUNIT_TEST(unregisteredString); + CPPUNIT_TEST(unregisteredListAsString); + CPPUNIT_TEST(unregisteredStringAsList); CPPUNIT_TEST_SUITE_END(); public: @@ -69,6 +71,21 @@ class ConfigTest : public CPPUNIT_NS :: TestFixture{ CPPUNIT_ASSERT_EQUAL(std::string("irc.freenode.org"), CONFIG_STRING(&cfg, "service.irc_server")); } + void unregisteredListAsString() { + Config cfg; + std::istringstream ifs("service.irc_server = irc.freenode.orgn\nservice.irc_server = irc2.freenode.org"); + cfg.load(ifs); + CPPUNIT_ASSERT_EQUAL(std::string(""), CONFIG_STRING_DEFAULTED(&cfg, "service.irc_server", "")); + } + + void unregisteredStringAsList() { + Config cfg; + std::istringstream ifs("service.irc_server = irc.freenode.org"); + cfg.load(ifs); + std::list list; + CPPUNIT_ASSERT_EQUAL(0, (int) CONFIG_LIST_DEFAULTED(&cfg, "service.irc_server", list).size()); + } + }; CPPUNIT_TEST_SUITE_REGISTRATION (ConfigTest);