|
11 | 11 | import humanize |
12 | 12 |
|
13 | 13 | with freeze_time("2020-02-02"): |
14 | | - NOW = dt.datetime.now() |
| 14 | + NOW = dt.datetime.now(tz=dt.timezone.utc) |
15 | 15 |
|
16 | 16 |
|
17 | 17 | @freeze_time("2020-02-02") |
@@ -198,3 +198,35 @@ def test_default_locale_path_undefined__spec__( |
198 | 198 | with pytest.raises(Exception) as excinfo: |
199 | 199 | i18n.activate("ru_RU") |
200 | 200 | assert str(excinfo.value) == self.expected_msg |
| 201 | + |
| 202 | + @freeze_time("2020-02-02") |
| 203 | + def test_en_locale(self) -> None: |
| 204 | + three_seconds = NOW - dt.timedelta(seconds=3) |
| 205 | + test_str = humanize.naturaltime(three_seconds) |
| 206 | + |
| 207 | + humanize.i18n.activate("en_US") |
| 208 | + assert test_str == humanize.naturaltime(three_seconds) |
| 209 | + |
| 210 | + humanize.i18n.activate("en_GB") |
| 211 | + assert test_str == humanize.naturaltime(three_seconds) |
| 212 | + |
| 213 | + humanize.i18n.deactivate() |
| 214 | + |
| 215 | + @freeze_time("2020-02-02") |
| 216 | + def test_none_locale(self) -> None: |
| 217 | + three_seconds = NOW - dt.timedelta(seconds=3) |
| 218 | + |
| 219 | + try: |
| 220 | + humanize.i18n.activate("fr") |
| 221 | + assert humanize.naturaltime(three_seconds) == "il y a 3 secondes" |
| 222 | + |
| 223 | + humanize.i18n.activate(None) |
| 224 | + test_str = humanize.naturaltime(three_seconds) |
| 225 | + assert test_str == "3 seconds ago" |
| 226 | + except FileNotFoundError: |
| 227 | + pytest.skip("Generate .mo with scripts/generate-translation-binaries.sh") |
| 228 | + |
| 229 | + finally: |
| 230 | + humanize.i18n.deactivate() |
| 231 | + |
| 232 | + assert test_str == humanize.naturaltime(three_seconds) |
0 commit comments