diff options
author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-04-14 17:41:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-14 17:41:03 +0200 |
commit | 198a19b692699ad3940373d9ed797fe9155f3f4a (patch) | |
tree | b0f0bae936c972e654ffb9f26229c2ffdd59530a /tests | |
parent | 53aee470d5b35e2708864d5221d2b5655e10c091 (diff) | |
download | django-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.py | 18 |
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) |