summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2023-04-14 17:41:03 +0200
committerGitHub <noreply@github.com>2023-04-14 17:41:03 +0200
commit198a19b692699ad3940373d9ed797fe9155f3f4a (patch)
treeb0f0bae936c972e654ffb9f26229c2ffdd59530a /tests
parent53aee470d5b35e2708864d5221d2b5655e10c091 (diff)
downloaddjango-198a19b692699ad3940373d9ed797fe9155f3f4a.tar.gz
Refs #34483 -- Fixed timesince()/timeuntil() with timezone-aware dates on different days and interval less than 1 day.
Follow up to 813015d67e2557fa859a07930a9becec4e5f64a0. Regression in 8d67e16493c903adc9d049141028bc0fff43f8c8.
Diffstat (limited to 'tests')
-rw-r--r--tests/utils_tests/test_timesince.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/utils_tests/test_timesince.py b/tests/utils_tests/test_timesince.py
index d54fce2be6..0727e65af4 100644
--- a/tests/utils_tests/test_timesince.py
+++ b/tests/utils_tests/test_timesince.py
@@ -258,6 +258,24 @@ class TimesinceTests(TestCase):
with self.subTest(value):
self.assertEqual(timesince(value), expected)
+ @requires_tz_support
+ def test_less_than_a_day_cross_day_with_zoneinfo(self):
+ now_with_zoneinfo = timezone.make_aware(
+ datetime.datetime(2023, 4, 14, 1, 30, 30),
+ zoneinfo.ZoneInfo(key="Asia/Kathmandu"), # UTC+05:45
+ )
+ now_utc = now_with_zoneinfo.astimezone(datetime.timezone.utc)
+ tests = [
+ (now_with_zoneinfo, "0\xa0minutes"),
+ (now_with_zoneinfo - self.onemicrosecond, "0\xa0minutes"),
+ (now_with_zoneinfo - self.onesecond, "0\xa0minutes"),
+ (now_with_zoneinfo - self.oneminute, "1\xa0minute"),
+ (now_with_zoneinfo - self.onehour, "1\xa0hour"),
+ ]
+ for value, expected in tests:
+ with self.subTest(value):
+ self.assertEqual(timesince(value, now_utc), expected)
+
@requires_tz_support
@override_settings(USE_TZ=True)