summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-09-13 21:37:15 +0200
committerCarl Hetherington <cth@carlh.net>2023-09-13 21:37:15 +0200
commitd0c41db8b5c3b1548faf6e11562c59a6161e16c6 (patch)
treeaf503662c4175486fda1f5a0b00a57d0f58910c4
parent9d8c77850d67fdf6432982a34d9ffcb59ffc992e (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.cc2
-rw-r--r--test/local_time_test.cc16
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");
+ }
}