Date
view release on metacpan or search on metacpan
clib/tests/time/tz.cc view on Meta::CPAN
check("MSK2", 0, {-7200});
check("MSK+3", 0, {-10800});
check("MSK-4MSD", 0, {14400});
wrong("MSK-4:");
check("MSK-4:20", 0, {15600});
wrong("MSK-4:20:");
check("MSK-4:20:08", 0, {15608});
wrong("MSK-4:20:01:");
check("MSK-4:20:08MSA", 0, {15608});
wrong("MSK-4MSD,");
wrong("MSK-4MSD,asdfdasfds");
wrong("MSK-4MSD,M3.1.0");
wrong("MSK-4MSD,M3.1.0,M10.5.0,");
check("MSK-4MSD,M3.1.0,M10.5.0", 1, {14400, "MSK", {2,1,0,2,0,0}, 0}, {18000, "MSD", {9,5,0,2,0,0}, 1});
check("MSK-4MSD,M3.1.0,M10.5.0/3", 1, {14400, "MSK", {2,1,0,2,0,0}, 0}, {18000, "MSD", {9,5,0,3,0,0}, 1});
check("MSK-4MSD,M3.1.0,M10.5.0/3:15", 1, {14400, "MSK", {2,1,0,2,0,0}, 0}, {18000, "MSD", {9,5,0,3,15,0}, 1});
check("MSK-4MSD,M3.1.0,M10.5.0/3:15:02", 1, {14400, "MSK", {2,1,0,2,0,0}, 0}, {18000, "MSD", {9,5,0,3,15,2}, 1});
check("MSK-4MSD,M3.1.0/1,M10.5.0/3:15:02", 1, {14400, "MSK", {2,1,0,1,0,0}, 0}, {18000, "MSD", {9,5,0,3,15,2}, 1});
check("MSK-4MSD,M3.1.0/1:59,M10.5.0/3:15:02", 1, {14400, "MSK", {2,1,0,1,59,0}, 0}, {18000, "MSD", {9,5,0,3,15,2}, 1});
check("MSK-4MSD,M3.1.0/1:59:58,M10.5.0/3:15:02", 1, {14400, "MSK", {2,1,0,1,59,58}, 0}, {18000, "MSD", {9,5,0,3,15,2}, 1});
wrong("MSK-4MSD,M3.1.0/1:59:58,M10.5.0/3:15:02:");
wrong("MSK-4MSD,M3.1.0/1:59:58,M10.5.0/3:15:");
wrong("MSK-4MSD,M3.1.0/1:59:58,M10.5.0/3:");
wrong("MSK-4MSD,M3.1.0/1:59:58,M10.5.0/");
wrong("MSK-4MSD,M3.1.0/1:59:,M10.5.0");
wrong("MSK-4MSD,M3.1.0/1:,M10.5.0");
wrong("MSK-4MSD,M3.1.0/,M10.5.0");
check("MSK-4MSD,M3.1.0/-1,M10.5.0");
wrong("MSK-4MSD,M3.0.0,M10.5.0");
wrong("MSK-4MSD,M3.6.0,M10.5.0");
wrong("MSK-4MSD,M3.0.0,M13.5.0");
wrong("MSK-4MSD,M3.0.0,M0.5.0");
wrong("MSK-4MSD,M3.1.-1,M0.5.0");
wrong("MSK-4MSD,M3.1.7,M0.5.0");
wrong("MSK-4-5");
check("<MSK-4>-5", 0, {18000, "MSK-4"});
wrong(":MSK-4");
wrong("MS1K-4");
wrong("SK-4");
}
TEST("timezones parsing") {
auto list = available_timezones();
for (auto& zname : list) {
auto zone = tzget(zname);
CHECK(zone);
CHECK(zone->name == zname);
}
}
TEST("tzset") {
tzset("Europe/Moscow");
CHECK(tzlocal()->name == "Europe/Moscow");
tzset(tzget("America/New_York"));
CHECK(tzlocal()->name == "America/New_York");
}
#ifndef TEST_NO_SETENV
TEST("tzset via ENV{TZ}") {
setenv("TZ", "Europe/Moscow", 1);
panda::time::tzset();
CHECK(tzlocal()->name == "Europe/Moscow");
setenv("TZ", "America/New_York", 1);
panda::time::tzset();
CHECK(tzlocal()->name == "America/New_York");
unsetenv("TZ");
panda::time::tzset();
CHECK(tzlocal()->name);
}
#endif
TEST("tzdir") {
auto now = ::time(NULL);
tzset("Europe/Moscow");
CHECK(tzlocal()->name == "Europe/Moscow");
auto date1 = localtime(now);
tzset("America/New_York");
CHECK(tzlocal()->name == "America/New_York");
auto date2 = localtime(now);
auto old = tzdir();
tzdir("tests/time/testzones");
CHECK(available_timezones().size() == 2);
tzset("Moscow");
CHECK(tzlocal()->name == "Moscow");
CHECK_DATETIME(localtime(now), date1);
CHECK(timelocal(&date1) == now);
tzset("New_York");
CHECK(tzlocal()->name == "New_York");
CHECK_DATETIME(localtime(now), date2);
CHECK(timelocal(&date2) == now);
tzdir(old);
}
( run in 0.865 second using v1.01-cache-2.11-cpan-39bf76dae61 )