diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-11-08 23:48:42 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-11-08 23:48:42 +0100 |
| commit | 1ac4cb1a8fe20a0b60408006a7a9f92714f140ca (patch) | |
| tree | 6a2067f0768c1812f5a1dc4c1047cb7d58c89f90 /test | |
| parent | 74b6739ea1710b8b26ca17d9096ba5f6baa5858d (diff) | |
Fix incorrect LocalTime strings when timezone is behind UTC and not an integer number of hours.
Diffstat (limited to 'test')
| -rw-r--r-- | test/local_time_test.cc | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/test/local_time_test.cc b/test/local_time_test.cc index 0b3bcd5b..302e35a4 100644 --- a/test/local_time_test.cc +++ b/test/local_time_test.cc @@ -70,7 +70,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"); } @@ -84,7 +84,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"); } @@ -123,4 +123,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"); + } + + } |
