diff options
author | Aarni Koskela <akx@iki.fi> | 2016-07-15 14:13:09 +0300 |
---|---|---|
committer | Aarni Koskela <akx@iki.fi> | 2016-07-15 14:13:09 +0300 |
commit | bece010dd32fbb5f4bbcd6a667800bdab662ddf6 (patch) | |
tree | 5b5a526b4e7fd2fc37fc2531e2140931ccc17294 /tests/test_dates.py | |
parent | 5c37e6afe6d1978a9672b707ba28a5fd932cf222 (diff) | |
download | babel-bece010dd32fbb5f4bbcd6a667800bdab662ddf6.tar.gz |
Properly fall back to `long` metazone names when short forms are no-inherit
Thanks to @stringtheory for the bug report!
Fixes #428
Diffstat (limited to 'tests/test_dates.py')
-rw-r--r-- | tests/test_dates.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_dates.py b/tests/test_dates.py index b0d093e..f74cd39 100644 --- a/tests/test_dates.py +++ b/tests/test_dates.py @@ -15,9 +15,12 @@ import calendar from datetime import date, datetime, time, timedelta import unittest +import pytest +import pytz from pytz import timezone from babel import dates, Locale +from babel.dates import NO_INHERITANCE_MARKER from babel.util import FixedOffsetTimezone @@ -761,3 +764,22 @@ def test_format_current_moment(monkeypatch): # Freeze time! Well, some of it anyway. monkeypatch.setattr(datetime_module, "datetime", frozen_datetime) assert dates.format_datetime(locale="en_US") == dates.format_datetime(frozen_instant, locale="en_US") + + +@pytest.mark.all_locales +def test_no_inherit_metazone_marker_never_in_output(locale): + # See: https://github.com/python-babel/babel/issues/428 + tz = pytz.timezone('America/Los_Angeles') + t = tz.localize(datetime(2016, 1, 6, 7)) + assert NO_INHERITANCE_MARKER not in dates.format_time(t, format='long', locale=locale) + assert NO_INHERITANCE_MARKER not in dates.get_timezone_name(t, width='short', locale=locale) + + +def test_no_inherit_metazone_formatting(): + # See: https://github.com/python-babel/babel/issues/428 + tz = pytz.timezone('America/Los_Angeles') + t = tz.localize(datetime(2016, 1, 6, 7)) + assert dates.format_time(t, format='long', locale='en_US') == "7:00:00 AM PST" + assert dates.format_time(t, format='long', locale='en_GB') == "07:00:00 Pacific Standard Time" + assert dates.get_timezone_name(t, width='short', locale='en_US') == "PST" + assert dates.get_timezone_name(t, width='short', locale='en_GB') == "Pacific Standard Time" |