diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2014-05-16 23:12:59 +0200 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2014-05-16 23:12:59 +0200 |
| commit | 1109ebd7b373e14b68616346ea5dd3e89a8ae2fe (patch) | |
| tree | ace55cb69900fe2953ec562a8a072939c15f6dbf /tests | |
| parent | fa89acf1d0a4adbf0802c1275494f5159a912c9e (diff) | |
Optimized make_aware/naive by removing redundant checks. Refs #22625.
Also added tests with pytz and removed misplaced tests.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/timezones/tests.py | 28 | ||||
| -rw-r--r-- | tests/utils_tests/test_timezone.py | 30 |
2 files changed, 30 insertions, 28 deletions
diff --git a/tests/timezones/tests.py b/tests/timezones/tests.py index d16c7f7fd2..ab9ed6b1a1 100644 --- a/tests/timezones/tests.py +++ b/tests/timezones/tests.py @@ -1120,31 +1120,3 @@ class AdminTests(TestCase): with timezone.override(ICT): response = self.client.get(reverse('admin:timezones_timestamp_change', args=(t.pk,))) self.assertContains(response, t.created.astimezone(ICT).isoformat()) - - -@override_settings(TIME_ZONE='Africa/Nairobi') -class UtilitiesTests(TestCase): - - def test_make_aware(self): - self.assertEqual( - timezone.make_aware(datetime.datetime(2011, 9, 1, 13, 20, 30), EAT), - datetime.datetime(2011, 9, 1, 13, 20, 30, tzinfo=EAT) - ) - self.assertEqual( - timezone.make_aware(datetime.datetime(2011, 9, 1, 10, 20, 30), UTC), - datetime.datetime(2011, 9, 1, 10, 20, 30, tzinfo=UTC) - ) - - def test_make_naive(self): - self.assertEqual( - timezone.make_naive(datetime.datetime(2011, 9, 1, 13, 20, 30, tzinfo=EAT), EAT), - datetime.datetime(2011, 9, 1, 13, 20, 30) - ) - self.assertEqual( - timezone.make_naive(datetime.datetime(2011, 9, 1, 13, 20, 30, tzinfo=EAT), UTC), - datetime.datetime(2011, 9, 1, 10, 20, 30) - ) - self.assertEqual( - timezone.make_naive(datetime.datetime(2011, 9, 1, 10, 20, 30, tzinfo=UTC), UTC), - datetime.datetime(2011, 9, 1, 10, 20, 30) - ) diff --git a/tests/utils_tests/test_timezone.py b/tests/utils_tests/test_timezone.py index 4b5a39a928..aec58e394f 100644 --- a/tests/utils_tests/test_timezone.py +++ b/tests/utils_tests/test_timezone.py @@ -3,10 +3,17 @@ import datetime import pickle import unittest +try: + import pytz +except ImportError: + pytz = None + from django.test import override_settings from django.utils import timezone +if pytz is not None: + CET = pytz.timezone("Europe/Paris") EAT = timezone.get_fixed_timezone(180) # Africa/Nairobi ICT = timezone.get_fixed_timezone(420) # Asia/Bangkok @@ -19,6 +26,10 @@ class TimezoneTests(unittest.TestCase): local_now = timezone.localtime(now, local_tz) self.assertEqual(local_now.tzinfo, local_tz) + def test_localtime_naive(self): + with self.assertRaises(ValueError): + timezone.localtime(datetime.datetime.now()) + def test_localtime_out_of_range(self): local_tz = timezone.LocalTimezone() long_ago = datetime.datetime(1900, 1, 1, tzinfo=timezone.utc) @@ -96,3 +107,22 @@ class TimezoneTests(unittest.TestCase): datetime.datetime(2011, 9, 1, 13, 20, 30)) with self.assertRaises(ValueError): timezone.make_naive(datetime.datetime(2011, 9, 1, 13, 20, 30), EAT) + + @unittest.skipIf(pytz is None, "this test requires pytz") + def test_make_aware(self): + self.assertEqual( + timezone.make_aware(datetime.datetime(2011, 9, 1, 12, 20, 30), CET), + CET.localize(datetime.datetime(2011, 9, 1, 12, 20, 30))) + with self.assertRaises(ValueError): + timezone.make_aware(CET.localize(datetime.datetime(2011, 9, 1, 12, 20, 30)), CET) + + @unittest.skipIf(pytz is None, "this test requires pytz") + def test_make_aware_pytz(self): + self.assertEqual( + timezone.make_naive(CET.localize(datetime.datetime(2011, 9, 1, 12, 20, 30)), CET), + datetime.datetime(2011, 9, 1, 12, 20, 30)) + self.assertEqual( + timezone.make_naive(pytz.timezone("Asia/Bangkok").localize(datetime.datetime(2011, 9, 1, 17, 20, 30)), CET), + datetime.datetime(2011, 9, 1, 12, 20, 30)) + with self.assertRaises(ValueError): + timezone.make_naive(datetime.datetime(2011, 9, 1, 12, 20, 30), CET) |
