diff options
author | Jonas Smedegaard <dr@jones.dk> | 2016-12-21 21:25:09 +0100 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2016-12-21 21:25:09 +0100 |
commit | f820d86aadb7a5473bcc0a0a3669732ab0182555 (patch) | |
tree | a6a673c444ea3df75fe0a5d53e905030c2f617ce /tests/utils.cpp | |
parent | eda4b75b1cff83336e87da90efca9fd6b4ced2c7 (diff) | |
parent | 9634cdaba2e5d2343fcbc1f07264d55609640273 (diff) | |
download | biboumi-9ecc1a5683ed74151dbfb6f3aa2b1a2787148d8a.tar.gz biboumi-9ecc1a5683ed74151dbfb6f3aa2b1a2787148d8a.tar.bz2 biboumi-9ecc1a5683ed74151dbfb6f3aa2b1a2787148d8a.tar.xz biboumi-9ecc1a5683ed74151dbfb6f3aa2b1a2787148d8a.zip |
New upstream version 4.0upstream/4.0
Diffstat (limited to 'tests/utils.cpp')
-rw-r--r-- | tests/utils.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/utils.cpp b/tests/utils.cpp index 01d070e..48951da 100644 --- a/tests/utils.cpp +++ b/tests/utils.cpp @@ -6,6 +6,10 @@ #include <utils/split.hpp> #include <utils/xdg.hpp> #include <utils/empty_if_fixed_server.hpp> +#include <utils/get_first_non_empty.hpp> +#include <utils/time.hpp> + +using namespace std::string_literals; TEST_CASE("String split") { @@ -100,3 +104,39 @@ TEST_CASE("string cut") CHECK(res[0] == "rhello, "); CHECK(res[1] == "♥"); } + +TEST_CASE("first non-empty string") +{ + CHECK(get_first_non_empty(""s, ""s, "hello"s, "world"s) == "hello"s); + CHECK(get_first_non_empty(""s, ""s, ""s, ""s) == ""s); + CHECK(get_first_non_empty("first"s) == "first"s); + CHECK(get_first_non_empty(0, 1, 2, 3) == 1); +} + +TEST_CASE("time_to_string") +{ + const std::time_t stamp = 1472480968; + const std::string result = "2016-08-29T14:29:28Z"; + CHECK(utils::to_string(stamp) == result); + CHECK(utils::to_string(stamp).size() == result.size()); + CHECK(utils::to_string(0) == "1970-01-01T00:00:00Z"); +} + +TEST_CASE("parse_datetime") +{ + CHECK(utils::parse_datetime("1970-01-01T00:00:00Z") == 0); + + const int twenty_three_hours = 82800; + CHECK(utils::parse_datetime("1970-01-01T23:00:12Z") == twenty_three_hours + 12); + CHECK(utils::parse_datetime("1970-01-01T23:00:12Z") == utils::parse_datetime("1970-01-01T23:00:12+00:00")); + CHECK(utils::parse_datetime("1970-01-01T23:00:12Z") == utils::parse_datetime("1970-01-01T23:00:12-00:00")); + CHECK(utils::parse_datetime("1970-01-02T00:00:12Z") == utils::parse_datetime("1970-01-01T23:00:12-01:00")); + CHECK(utils::parse_datetime("1970-01-02T00:00:12Z") == utils::parse_datetime("1970-01-02T01:00:12+01:00")); + + CHECK(utils::parse_datetime("2016-08-29T14:29:29Z") == 1472480969); + + CHECK(utils::parse_datetime("blah") == -1); + CHECK(utils::parse_datetime("1970-01-02T00:00:12B") == -1); + CHECK(utils::parse_datetime("1970-01-02T00:00:12*00:00") == -1); + CHECK(utils::parse_datetime("1970-01-02T00:00:12+0000") == -1); +} |