diff options
Diffstat (limited to 'tests/utils_tests/test_dateformat.py')
| -rw-r--r-- | tests/utils_tests/test_dateformat.py | 40 |
1 files changed, 13 insertions, 27 deletions
diff --git a/tests/utils_tests/test_dateformat.py b/tests/utils_tests/test_dateformat.py index 2f682b6ce0..a1980b7930 100644 --- a/tests/utils_tests/test_dateformat.py +++ b/tests/utils_tests/test_dateformat.py @@ -1,42 +1,28 @@ from __future__ import unicode_literals from datetime import datetime, date -import os import time -import unittest +from django.test import TestCase +from django.test.utils import override_settings from django.utils.dateformat import format from django.utils import dateformat +from django.utils.timezone import utc, get_fixed_timezone, get_default_timezone from django.utils import translation -from django.utils.timezone import utc -from django.utils.tzinfo import FixedOffset, LocalTimezone -class DateFormatTests(unittest.TestCase): +@override_settings(TIME_ZONE='Europe/Copenhagen') +class DateFormatTests(TestCase): + + # Run tests that require a time zone only when the OS supports it. + tz_tests = hasattr(time, 'tzset') + def setUp(self): - self.old_TZ = os.environ.get('TZ') - os.environ['TZ'] = 'Europe/Copenhagen' self._orig_lang = translation.get_language() translation.activate('en-us') - try: - # Check if a timezone has been set - time.tzset() - self.tz_tests = True - except AttributeError: - # No timezone available. Don't run the tests that require a TZ - self.tz_tests = False - def tearDown(self): translation.activate(self._orig_lang) - if self.old_TZ is None: - del os.environ['TZ'] - else: - os.environ['TZ'] = self.old_TZ - - # Cleanup - force re-evaluation of TZ environment variable. - if self.tz_tests: - time.tzset() def test_date(self): d = date(2009, 5, 16) @@ -47,14 +33,14 @@ class DateFormatTests(unittest.TestCase): self.assertEqual(datetime.fromtimestamp(int(format(dt, 'U'))), dt) def test_datetime_with_local_tzinfo(self): - ltz = LocalTimezone(datetime.now()) + ltz = get_default_timezone() dt = datetime(2009, 5, 16, 5, 30, 30, tzinfo=ltz) self.assertEqual(datetime.fromtimestamp(int(format(dt, 'U')), ltz), dt) self.assertEqual(datetime.fromtimestamp(int(format(dt, 'U'))), dt.replace(tzinfo=None)) def test_datetime_with_tzinfo(self): - tz = FixedOffset(-510) - ltz = LocalTimezone(datetime.now()) + tz = get_fixed_timezone(-510) + ltz = get_default_timezone() dt = datetime(2009, 5, 16, 5, 30, 30, tzinfo=tz) self.assertEqual(datetime.fromtimestamp(int(format(dt, 'U')), tz), dt) self.assertEqual(datetime.fromtimestamp(int(format(dt, 'U')), ltz), dt) @@ -128,7 +114,7 @@ class DateFormatTests(unittest.TestCase): timestamp = datetime(2008, 5, 19, 11, 45, 23, 123456) # 3h30m to the west of UTC - tz = FixedOffset(-3*60 - 30) + tz = get_fixed_timezone(-210) aware_dt = datetime(2009, 5, 16, 5, 30, 30, tzinfo=tz) if self.tz_tests: |
