From fc9e0606d5333fc1906c85cc7ac3b2020e0b1baa Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Mon, 2 Jan 2012 20:45:09 +0000 Subject: [PATCH] Fixed a stupid bug in the implementation of timezone.make_aware. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17332 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/utils/timezone.py | 2 +- tests/modeltests/timezones/tests.py | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/django/utils/timezone.py b/django/utils/timezone.py index c29cdf76843..35bf297358b 100644 --- a/django/utils/timezone.py +++ b/django/utils/timezone.py @@ -267,5 +267,5 @@ def make_naive(value, timezone): value = value.astimezone(timezone) if hasattr(timezone, 'normalize'): # available for pytz time zones - return timezone.normalize(value) + value = timezone.normalize(value) return value.replace(tzinfo=None) diff --git a/tests/modeltests/timezones/tests.py b/tests/modeltests/timezones/tests.py index cbfa0d8e74e..b46aa0ed8c3 100644 --- a/tests/modeltests/timezones/tests.py +++ b/tests/modeltests/timezones/tests.py @@ -953,3 +953,30 @@ class AdminTests(BaseDateTimeTests): self.assertContains(response, t.created.astimezone(ICT).isoformat()) AdminTests = override_settings(DATETIME_FORMAT='c', USE_L10N=False, USE_TZ=True)(AdminTests) + + +class UtilitiesTests(BaseDateTimeTests): + + 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) + )