summaryrefslogtreecommitdiff
path: root/tests/test_dates.py
diff options
context:
space:
mode:
authorAarni Koskela <akx@iki.fi>2016-07-15 14:13:09 +0300
committerAarni Koskela <akx@iki.fi>2016-07-15 14:13:09 +0300
commitbece010dd32fbb5f4bbcd6a667800bdab662ddf6 (patch)
tree5b5a526b4e7fd2fc37fc2531e2140931ccc17294 /tests/test_dates.py
parent5c37e6afe6d1978a9672b707ba28a5fd932cf222 (diff)
downloadbabel-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.py22
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"