diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-04-20 20:10:25 +0300 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-04-20 22:08:20 +0300 |
commit | 3429622d754a87ecca98b3fbde994f24e40d34b4 (patch) | |
tree | 1e69a898fb2a364f4bb77afd3a9e1997d11cbd98 /lib/configuration/configuration.cpp | |
parent | move lib/about to src/about (diff) | |
download | smolbote-3429622d754a87ecca98b3fbde994f24e40d34b4.tar.xz |
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
Diffstat (limited to 'lib/configuration/configuration.cpp')
-rw-r--r-- | lib/configuration/configuration.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
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<Configuration> 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<char>(), ' '))); + value.erase(std::find_if(value.rbegin(), value.rend(), std::bind1st(std::not_equal_to<char>(), ' ')).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<std::pair<std::string, conf_value_t>> l) noexcept @@ -58,8 +60,9 @@ void Configuration::read(std::basic_istream<char> &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; } |