2019-10-04 09:04:26 +00:00
|
|
|
#define CATCH_CONFIG_MAIN
|
|
|
|
#include <catch2/catch.hpp>
|
|
|
|
|
2019-09-24 08:48:24 +00:00
|
|
|
#include "libslic3r/Time.hpp"
|
|
|
|
|
|
|
|
#include <sstream>
|
|
|
|
#include <iomanip>
|
|
|
|
#include <locale>
|
|
|
|
|
|
|
|
namespace {
|
|
|
|
|
|
|
|
void test_time_fmt(Slic3r::Utils::TimeFormat fmt) {
|
|
|
|
using namespace Slic3r::Utils;
|
|
|
|
time_t t = get_current_time_utc();
|
|
|
|
|
|
|
|
std::string tstr = time2str(t, TimeZone::local, fmt);
|
|
|
|
time_t parsedtime = str2time(tstr, TimeZone::local, fmt);
|
2019-10-04 09:04:26 +00:00
|
|
|
REQUIRE(t == parsedtime);
|
2019-09-24 08:48:24 +00:00
|
|
|
|
|
|
|
tstr = time2str(t, TimeZone::utc, fmt);
|
|
|
|
parsedtime = str2time(tstr, TimeZone::utc, fmt);
|
2019-10-04 09:04:26 +00:00
|
|
|
REQUIRE(t == parsedtime);
|
2019-09-24 08:48:24 +00:00
|
|
|
|
|
|
|
parsedtime = str2time("not valid string", TimeZone::local, fmt);
|
2019-10-04 09:04:26 +00:00
|
|
|
REQUIRE(parsedtime == time_t(-1));
|
2019-09-24 08:48:24 +00:00
|
|
|
|
|
|
|
parsedtime = str2time("not valid string", TimeZone::utc, fmt);
|
2019-10-04 09:04:26 +00:00
|
|
|
REQUIRE(parsedtime == time_t(-1));
|
2019-09-24 08:48:24 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-04 09:04:26 +00:00
|
|
|
TEST_CASE("ISO8601Z", "[Timeutils]") {
|
2019-09-24 08:48:24 +00:00
|
|
|
test_time_fmt(Slic3r::Utils::TimeFormat::iso8601Z);
|
|
|
|
}
|
|
|
|
|
2019-10-04 09:04:26 +00:00
|
|
|
TEST_CASE("Slic3r_UTC_Time_Format", "[Timeutils]") {
|
2019-09-24 08:48:24 +00:00
|
|
|
test_time_fmt(Slic3r::Utils::TimeFormat::gcode);
|
|
|
|
}
|