X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fconfig_test.cc;h=67c00cf41c80bb786082c4f8997d7dc5f9c2f9a6;hb=67544a255ffd7a27f5388e18cd0207f23ecce5ed;hp=cd2b196cf95ef4fb3a4a47947c0326cdca0df208;hpb=4f652387cbeeda9b7b8ace71e047c450acf5c871;p=dcpomatic.git diff --git a/test/config_test.cc b/test/config_test.cc index cd2b196cf..67c00cf41 100644 --- a/test/config_test.cc +++ b/test/config_test.cc @@ -29,9 +29,10 @@ static void rewrite_bad_config () { boost::system::error_code ec; - boost::filesystem::remove ("build/test/config.xml", ec); + boost::filesystem::remove ("build/test/bad_config/config.xml", ec); Config::override_path = "build/test/bad_config"; + boost::filesystem::create_directories ("build/test/bad_config"); ofstream f ("build/test/bad_config/config.xml"); f << "\n" << "\n" @@ -43,54 +44,68 @@ rewrite_bad_config () BOOST_AUTO_TEST_CASE (config_backup_test) { + Config::override_path = "build/test/bad_config"; + Config::drop(); - boost::system::error_code ec; - boost::filesystem::remove ("build/test/config.xml.1", ec); - boost::filesystem::remove ("build/test/config.xml.2", ec); - boost::filesystem::remove ("build/test/config.xml.3", ec); - boost::filesystem::remove ("build/test/config.xml.4", ec); - boost::filesystem::remove ("build/test/config.xml.5", ec); - boost::filesystem::remove ("build/test/config.xml.5", ec); + boost::filesystem::remove_all ("build/test/bad_config"); rewrite_bad_config(); Config::instance(); - BOOST_CHECK ( boost::filesystem::exists ("build/test/config.xml.1")); - BOOST_CHECK (!boost::filesystem::exists ("build/test/config.xml.2")); - BOOST_CHECK (!boost::filesystem::exists ("build/test/config.xml.3")); - BOOST_CHECK (!boost::filesystem::exists ("build/test/config.xml.4")); + BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.1")); + BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.2")); + BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.3")); + BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.4")); Config::drop(); rewrite_bad_config(); Config::instance(); - BOOST_CHECK ( boost::filesystem::exists ("build/test/config.xml.1")); - BOOST_CHECK ( boost::filesystem::exists ("build/test/config.xml.2")); - BOOST_CHECK (!boost::filesystem::exists ("build/test/config.xml.3")); - BOOST_CHECK (!boost::filesystem::exists ("build/test/config.xml.4")); + BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.1")); + BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.2")); + BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.3")); + BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.4")); Config::drop(); rewrite_bad_config(); Config::instance(); - BOOST_CHECK ( boost::filesystem::exists ("build/test/config.xml.1")); - BOOST_CHECK ( boost::filesystem::exists ("build/test/config.xml.2")); - BOOST_CHECK ( boost::filesystem::exists ("build/test/config.xml.3")); - BOOST_CHECK (!boost::filesystem::exists ("build/test/config.xml.4")); + BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.1")); + BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.2")); + BOOST_CHECK ( boost::filesystem::exists ("build/test/bad_config/config.xml.3")); + BOOST_CHECK (!boost::filesystem::exists ("build/test/bad_config/config.xml.4")); Config::drop(); rewrite_bad_config(); Config::instance(); - BOOST_CHECK (boost::filesystem::exists ("build/test/config.xml.1")); - BOOST_CHECK (boost::filesystem::exists ("build/test/config.xml.2")); - BOOST_CHECK (boost::filesystem::exists ("build/test/config.xml.3")); - BOOST_CHECK (boost::filesystem::exists ("build/test/config.xml.4")); + BOOST_CHECK (boost::filesystem::exists ("build/test/bad_config/config.xml.1")); + BOOST_CHECK (boost::filesystem::exists ("build/test/bad_config/config.xml.2")); + BOOST_CHECK (boost::filesystem::exists ("build/test/bad_config/config.xml.3")); + BOOST_CHECK (boost::filesystem::exists ("build/test/bad_config/config.xml.4")); + + /* This test has called Config::set_defaults(), so take us back + to the config that we want for our tests. + */ + setup_test_config (); +} + + +BOOST_AUTO_TEST_CASE (config_write_utf8_test) +{ + boost::filesystem::remove_all ("build/test/config.xml"); + boost::filesystem::copy_file ("test/data/utf8_config.xml", "build/test/config.xml"); + Config::override_path = "build/test"; + Config::drop (); + Config::instance()->write(); + + check_text_file ("test/data/utf8_config.xml", "build/test/config.xml"); /* This test has called Config::set_defaults(), so take us back to the config that we want for our tests. */ setup_test_config (); } +