diff options
author | wurstsalat <mailtrash@posteo.de> | 2023-02-14 20:46:34 +0300 |
---|---|---|
committer | wurstsalat <mailtrash@posteo.de> | 2023-02-14 23:45:26 +0300 |
commit | 94e227f0e112b340210e8378af35fdbafb729f02 (patch) | |
tree | 94f7301b9b814a78b750f85374688ed53ce6baff /test | |
parent | 63a0e85b1e0510a98a1984861ceb6743058dae72 (diff) |
fix: GetRelativeTimeTest: Fix comparison of translated strings and off-by timezone errors
Diffstat (limited to 'test')
-rw-r--r-- | test/common/test_get_uf_relative_time.py | 53 |
1 files changed, 34 insertions, 19 deletions
diff --git a/test/common/test_get_uf_relative_time.py b/test/common/test_get_uf_relative_time.py index b1d22e1cd..b36378628 100644 --- a/test/common/test_get_uf_relative_time.py +++ b/test/common/test_get_uf_relative_time.py @@ -6,8 +6,11 @@ from datetime import timezone from gajim.common import app from gajim.common.helpers import get_uf_relative_time +from gajim.common.i18n import _ +from gajim.common.i18n import ngettext from gajim.common.settings import Settings +local_timezone = datetime.now(timezone.utc).astimezone().tzinfo app.settings = Settings(in_memory=True) @@ -16,30 +19,41 @@ class GetRelativeTimeTest(unittest.TestCase): def test_sub_1_minute(self): '''Test timedelta less than 1 minute''' - timenow = datetime(2023, 1, 2, 3, 4, 0, tzinfo=timezone.utc) + timenow = datetime(2023, 1, 2, 3, 4, 0, tzinfo=local_timezone) timestamp1 = timenow - timedelta(seconds=30) self.assertEqual(get_uf_relative_time(timestamp1.timestamp(), - timenow.timestamp()), 'Just now') + timenow.timestamp()), + _('Just now')) def test_sub_15_minutes(self): '''Test timedelta less than 15 minutes and more than 1 minute ago''' - timenow = datetime(2023, 1, 2, 3, 4, 0, tzinfo=timezone.utc) + timenow = datetime(2023, 1, 2, 3, 4, 0, tzinfo=local_timezone) timestamp1 = timenow - timedelta(minutes=3) self.assertEqual(get_uf_relative_time(timestamp1.timestamp(), timenow.timestamp()), - '3 mins ago') + ngettext( + '%i min ago', + '%i mins ago', + 3, + 3, + 3)) def test_sub_15_minutes_next_day(self): '''Test timedelta less than 15 minutes and it is the next day''' - timenow = datetime(2023, 1, 1, 0, 5, 0, tzinfo=timezone.utc) + timenow = datetime(2023, 1, 1, 0, 5, 0, tzinfo=local_timezone) timestamp1 = timenow - timedelta(minutes=10) self.assertEqual(get_uf_relative_time(timestamp1.timestamp(), timenow.timestamp()), - '10 mins ago') + ngettext( + '%i min ago', + '%i mins ago', + 10, + 10, + 10)) def test_today(self): '''Test today: same day and more than 15 minutes ago''' - timenow = datetime(2023, 1, 2, 12, 0, 0, tzinfo=timezone.utc) + timenow = datetime(2023, 1, 2, 12, 0, 0, tzinfo=local_timezone) timestamp1 = timenow - timedelta(hours=4) self.assertEqual(get_uf_relative_time(timestamp1.timestamp(), timenow.timestamp()), @@ -47,40 +61,41 @@ class GetRelativeTimeTest(unittest.TestCase): def test_yesterday_less_than_24h(self): '''Test yesterday and less than 24h ago''' - timenow = datetime(2023, 1, 2, 12, 0, 0, tzinfo=timezone.utc) - timestamp1 = datetime(2023, 1, 1, 14, 0, 0, tzinfo=timezone.utc) + timenow = datetime(2023, 1, 2, 12, 0, 0, tzinfo=local_timezone) + timestamp1 = datetime(2023, 1, 1, 14, 0, 0, tzinfo=local_timezone) self.assertEqual(get_uf_relative_time(timestamp1.timestamp(), - timenow.timestamp()), 'Yesterday') + timenow.timestamp()), + _('Yesterday')) def test_yesterday_more_than_24h(self): '''Test yesterday and more than 24h ago''' - timenow = datetime(2023, 1, 2, 12, 0, 0, tzinfo=timezone.utc) - timestamp1 = datetime(2023, 1, 1, 10, 0, 0, tzinfo=timezone.utc) + timenow = datetime(2023, 1, 2, 12, 0, 0, tzinfo=local_timezone) + timestamp1 = datetime(2023, 1, 1, 10, 0, 0, tzinfo=local_timezone) self.assertEqual(get_uf_relative_time(timestamp1.timestamp(), timenow.timestamp()), - 'Yesterday') + _('Yesterday')) def test_weekday(self): '''Test weekday: timestamp older than yesterday and less than 7 days ago, should return the weekday, i.e. 'Sun' for Sunday''' - timenow = datetime(2023, 1, 5, 1, 2, 3, tzinfo=timezone.utc) - timestamp1 = datetime(2023, 1, 1, 4, 5, 6, tzinfo=timezone.utc) + timenow = datetime(2023, 1, 5, 1, 2, 3, tzinfo=local_timezone) + timestamp1 = datetime(2023, 1, 1, 4, 5, 6, tzinfo=local_timezone) self.assertEqual(get_uf_relative_time(timestamp1.timestamp(), timenow.timestamp()), timestamp1.strftime('%a')) def test_month_day(self): '''Test month_day: timestamp more than 7 days ago but less than 365''' - timenow = datetime(2023, 1, 5, 1, 2, 3, tzinfo=timezone.utc) - timestamp1 = datetime(2022, 11, 15, 4, 5, 6, tzinfo=timezone.utc) + timenow = datetime(2023, 1, 5, 1, 2, 3, tzinfo=local_timezone) + timestamp1 = datetime(2022, 11, 15, 4, 5, 6, tzinfo=local_timezone) self.assertEqual(get_uf_relative_time(timestamp1.timestamp(), timenow.timestamp()), timestamp1.strftime('%b %d')) def test_year(self): '''Test year: timestamp more than 365 days ago''' - timenow = datetime(2023, 1, 5, 1, 2, 3, tzinfo=timezone.utc) - timestamp1 = datetime(2022, 1, 1, 4, 5, 6, tzinfo=timezone.utc) + timenow = datetime(2023, 1, 5, 1, 2, 3, tzinfo=local_timezone) + timestamp1 = datetime(2022, 1, 1, 4, 5, 6, tzinfo=local_timezone) self.assertEqual(get_uf_relative_time(timestamp1.timestamp(), timenow.timestamp()), '2022') |