From 3429622d754a87ecca98b3fbde994f24e40d34b4 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Mon, 20 Apr 2020 20:10:25 +0300 Subject: Rewrite configuration tests in catch2 - Drop s_conf check in operator<< as s_conf cannot be nullptr there - Add arithmetic type cast to string values --- lib/configuration/configuration.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'lib/configuration/configuration.cpp') diff --git a/lib/configuration/configuration.cpp b/lib/configuration/configuration.cpp index 0fdd0c0..01a5080 100644 --- a/lib/configuration/configuration.cpp +++ b/lib/configuration/configuration.cpp @@ -19,14 +19,16 @@ static std::unique_ptr s_conf; inline void strip(std::string &value) { value.erase(value.begin(), std::find_if(value.begin(), value.end(), std::bind1st(std::not_equal_to(), ' '))); + value.erase(std::find_if(value.rbegin(), value.rend(), std::bind1st(std::not_equal_to(), ' ')).base(), value.end()); } Configuration::Configuration() : use_global(true) { - if(!s_conf) - throw new std::runtime_error("Trying to use default Configuration, but none has been set!"); + if(!s_conf) { + throw std::runtime_error("Trying to use default Configuration, but none has been set!"); + } } Configuration::Configuration(std::initializer_list> l) noexcept @@ -58,8 +60,9 @@ void Configuration::read(std::basic_istream &input) } continue; } - if(line[0] == '#' || line.length() == 0) + if(line[0] == '#' || line.length() == 0) { continue; + } if(line.front() == '[' && line.back() == ']') { section = line.substr(1, line.length() - 2) + '/'; @@ -108,10 +111,6 @@ Configuration *Configuration::instance() std::ostream &operator<<(std::ostream &out, const Configuration &obj) { if(obj.use_global) { - if(!s_conf) { - throw new std::runtime_error("Trying to use default Configuration, but none has been set!"); - } - out << *s_conf; return out; } -- cgit v1.2.1