summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-11-08 23:48:42 +0100
committerCarl Hetherington <cth@carlh.net>2019-11-08 23:50:03 +0100
commitcba9d74bec5722db9079ecb8b5d4fc4bcb757a54 (patch)
tree4d573b0ad6a789d993341c8394e46837f2a643b4 /test
parentfe79aeb6b8d3938db8dc8382b807014be22fc692 (diff)
Fix incorrect LocalTime strings when timezone is behind UTC and not an integer number of hours.v1.6.10
Diffstat (limited to 'test')
-rw-r--r--test/local_time_test.cc20
1 files changed, 18 insertions, 2 deletions
diff --git a/test/local_time_test.cc b/test/local_time_test.cc
index 5b954e2f..b43b1cf3 100644
--- a/test/local_time_test.cc
+++ b/test/local_time_test.cc
@@ -56,7 +56,7 @@ BOOST_AUTO_TEST_CASE (local_time_test)
BOOST_CHECK_EQUAL (t._minute, 6);
BOOST_CHECK_EQUAL (t._second, 59);
BOOST_CHECK_EQUAL (t._tz_hour, -9);
- BOOST_CHECK_EQUAL (t._tz_minute, 30);
+ BOOST_CHECK_EQUAL (t._tz_minute, -30);
BOOST_CHECK_EQUAL (t.as_string(), "2011-11-20T01:06:59-09:30");
}
@@ -70,7 +70,7 @@ BOOST_AUTO_TEST_CASE (local_time_test)
BOOST_CHECK_EQUAL (t._second, 59);
BOOST_CHECK_EQUAL (t._millisecond, 456);
BOOST_CHECK_EQUAL (t._tz_hour, -9);
- BOOST_CHECK_EQUAL (t._tz_minute, 30);
+ BOOST_CHECK_EQUAL (t._tz_minute, -30);
BOOST_CHECK_EQUAL (t.as_string(true), "2011-11-20T01:06:59.456-09:30");
}
@@ -109,4 +109,20 @@ BOOST_AUTO_TEST_CASE (local_time_test)
BOOST_CHECK_EQUAL (b._tz_hour, 0);
BOOST_CHECK_EQUAL (b._tz_minute, 0);
}
+
+ /* Check negative times with non-zero timezone offset minutes */
+ {
+ dcp::LocalTime t ("2013-01-05T18:06:59-04:30");
+ BOOST_CHECK_EQUAL (t._year, 2013);
+ BOOST_CHECK_EQUAL (t._month, 1);
+ BOOST_CHECK_EQUAL (t._day, 5);
+ BOOST_CHECK_EQUAL (t._hour, 18);
+ BOOST_CHECK_EQUAL (t._minute, 6);
+ BOOST_CHECK_EQUAL (t._second, 59);
+ BOOST_CHECK_EQUAL (t._tz_hour, -4);
+ BOOST_CHECK_EQUAL (t._tz_minute, -30);
+ BOOST_CHECK_EQUAL (t.as_string(), "2013-01-05T18:06:59-04:30");
+ }
+
+
}