diff --git a/colander/iso8601.py b/colander/iso8601.py index a64233f..0dcd9a6 100644 --- a/colander/iso8601.py +++ b/colander/iso8601.py @@ -95,7 +95,7 @@ def parse_timezone(tzstring, default_timezone=UTC): """ if tzstring == "Z": - return default_timezone + return UTC # This isn't strictly correct, but it's common to encounter dates without # timezones so I'll assume the default (which defaults to UTC). # Addresses issue 4. diff --git a/colander/tests/test_iso8601.py b/colander/tests/test_iso8601.py index 4869eeb..7865743 100644 --- a/colander/tests/test_iso8601.py +++ b/colander/tests/test_iso8601.py @@ -71,15 +71,21 @@ class Test_FixedOffset(unittest.TestCase): self.assertEqual(result, "") class Test_parse_timezone(unittest.TestCase): - def _callFUT(self, tzstring): + def _callFUT(self, tzstring, **kw): from ..iso8601 import parse_timezone - return parse_timezone(tzstring) + return parse_timezone(tzstring, **kw) def test_default_Z(self): from ..iso8601 import UTC result = self._callFUT('Z') self.assertEqual(result, UTC) + def test_Z_with_default_timezone(self): + from ..iso8601 import UTC, FixedOffset + tz = FixedOffset(1, 0, 'myname') + result = self._callFUT('Z', default_timezone=tz) + self.assertEqual(result, UTC) + def test_default_None(self): from ..iso8601 import UTC result = self._callFUT(None)