diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-09-13 21:37:15 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-09-13 21:37:15 +0200 |
| commit | d0c41db8b5c3b1548faf6e11562c59a6161e16c6 (patch) | |
| tree | af503662c4175486fda1f5a0b00a57d0f58910c4 | |
| parent | 9d8c77850d67fdf6432982a34d9ffcb59ffc992e (diff) | |
Remove odd assertion stopping TZ minutes being more than 30 or less than -30 (DoM/GH #20).v1.8.82
| -rw-r--r-- | src/utc_offset.cc | 2 | ||||
| -rw-r--r-- | test/local_time_test.cc | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/src/utc_offset.cc b/src/utc_offset.cc index d9abcd60..8d4870dd 100644 --- a/src/utc_offset.cc +++ b/src/utc_offset.cc @@ -50,7 +50,7 @@ UTCOffset::set_hour(int hour) void UTCOffset::set_minute(int minute) { - DCP_ASSERT(minute >= -30 && minute <= 30); + DCP_ASSERT(minute >= -59 && minute <= 59); _minute = minute; } diff --git a/test/local_time_test.cc b/test/local_time_test.cc index f7f5b133..8d6d997e 100644 --- a/test/local_time_test.cc +++ b/test/local_time_test.cc @@ -186,6 +186,22 @@ BOOST_AUTO_TEST_CASE (local_time_basic_test) BOOST_CHECK(t._offset == dcp::UTCOffset(-4, -30)); BOOST_CHECK_EQUAL (t.as_string(), "2013-01-05T18:06:59-04:30"); } + + /* KDM seen with a TZ offset of -07:59, which we used to reject because + * we only accepted minutes between -30 and +30 (for some reason that I + * now can't find). + */ + { + dcp::LocalTime t("2023-11-30T23:59:00-07:59"); + BOOST_CHECK_EQUAL(t._year, 2023); + BOOST_CHECK_EQUAL(t._month, 11); + BOOST_CHECK_EQUAL(t._day, 30); + BOOST_CHECK_EQUAL(t._hour, 23); + BOOST_CHECK_EQUAL(t._minute, 59); + BOOST_CHECK_EQUAL(t._second, 00); + BOOST_CHECK(t._offset == dcp::UTCOffset(-7, -59)); + BOOST_CHECK_EQUAL(t.as_string(), "2023-11-30T23:59:00-07:59"); + } } |
