[1.5.x] Fixed #19203 -- Added isolation to a humanize test

Thanks lrekucki for the report.

Backport of aff9b2f from master.
This commit is contained in:
Aymeric Augustin 2012-10-28 09:34:05 +01:00
parent 39082494e6
commit 54b45dfb53
2 changed files with 11 additions and 2 deletions

View File

@ -34,7 +34,7 @@ INTERNAL_IPS = ()
# systems may support all possibilities). When USE_TZ is True, this is # systems may support all possibilities). When USE_TZ is True, this is
# interpreted as the default user time zone. # interpreted as the default user time zone.
TIME_ZONE = 'America/Chicago' TIME_ZONE = 'America/Chicago'
TIME_ZONE = 'Europe/Paris'
# If you set this to True, Django will use timezone-aware datetimes. # If you set this to True, Django will use timezone-aware datetimes.
USE_TZ = False USE_TZ = False

View File

@ -1,6 +1,12 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import datetime import datetime
try:
import pytz
except ImportError:
pytz = None
from django.conf import settings
from django.contrib.humanize.templatetags import humanize from django.contrib.humanize.templatetags import humanize
from django.template import Template, Context, defaultfilters from django.template import Template, Context, defaultfilters
from django.test import TestCase from django.test import TestCase
@ -10,6 +16,7 @@ from django.utils.timezone import utc
from django.utils import translation from django.utils import translation
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from django.utils import tzinfo from django.utils import tzinfo
from django.utils.unittest import skipIf
# Mock out datetime in some tests so they don't fail occasionally when they # Mock out datetime in some tests so they don't fail occasionally when they
@ -141,6 +148,8 @@ class HumanizeTests(TestCase):
# As 24h of difference they will never be the same # As 24h of difference they will never be the same
self.assertNotEqual(naturalday_one, naturalday_two) self.assertNotEqual(naturalday_one, naturalday_two)
@skipIf(settings.TIME_ZONE != "Ameria/Chicago" and pytz is None,
"this test requires pytz when a non-default time zone is set")
def test_naturalday_uses_localtime(self): def test_naturalday_uses_localtime(self):
# Regression for #18504 # Regression for #18504
# This is 2012-03-08HT19:30:00-06:00 in Ameria/Chicago # This is 2012-03-08HT19:30:00-06:00 in Ameria/Chicago
@ -148,7 +157,7 @@ class HumanizeTests(TestCase):
orig_humanize_datetime, humanize.datetime = humanize.datetime, MockDateTime orig_humanize_datetime, humanize.datetime = humanize.datetime, MockDateTime
try: try:
with override_settings(USE_TZ=True): with override_settings(TIME_ZONE="America/Chicago", USE_TZ=True):
self.humanize_tester([dt], ['yesterday'], 'naturalday') self.humanize_tester([dt], ['yesterday'], 'naturalday')
finally: finally:
humanize.datetime = orig_humanize_datetime humanize.datetime = orig_humanize_datetime