summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2013-09-21 22:50:33 +0200
committerAymeric Augustin <aymeric.augustin@m4x.org>2013-09-21 23:11:04 +0200
commite76dd4cd1a12f610698b8aa8854b0e0e1dfb21a2 (patch)
treee5c30d639379e394d4a4273db550f560081d04e6
parentece8d6521771635fb5e15d1093524b4f848608fa (diff)
[1.6.x] Fixed #21074 -- Added tests for localized datetime fields.
Fields must render values in the current time zone. This commit only contains tests because this ticket was just a symptom of a regression from #18777 that was fixed separately. Backport of 5444a9c from master.
-rw-r--r--tests/timezones/forms.py9
-rw-r--r--tests/timezones/tests.py14
2 files changed, 22 insertions, 1 deletions
diff --git a/tests/timezones/forms.py b/tests/timezones/forms.py
index 45fb1d080b..d99c9b77d5 100644
--- a/tests/timezones/forms.py
+++ b/tests/timezones/forms.py
@@ -8,7 +8,16 @@ class EventForm(forms.Form):
class EventSplitForm(forms.Form):
dt = forms.SplitDateTimeField()
+class EventLocalizedForm(forms.Form):
+ dt = forms.DateTimeField(localize=True)
+
class EventModelForm(forms.ModelForm):
class Meta:
model = Event
fields = '__all__'
+
+class EventLocalizedModelForm(forms.ModelForm):
+ class Meta:
+ model = Event
+ fields = '__all__'
+ localized_fields = '__all__'
diff --git a/tests/timezones/tests.py b/tests/timezones/tests.py
index 844bdb83fe..0233ea5029 100644
--- a/tests/timezones/tests.py
+++ b/tests/timezones/tests.py
@@ -27,7 +27,7 @@ from django.utils import timezone
from django.utils.tzinfo import FixedOffset
from django.utils.unittest import skipIf, skipUnless
-from .forms import EventForm, EventSplitForm, EventModelForm
+from .forms import EventForm, EventSplitForm, EventLocalizedForm, EventModelForm, EventLocalizedModelForm
from .models import Event, MaybeEvent, Session, SessionEvent, Timestamp, AllDayEvent
@@ -1037,11 +1037,23 @@ class NewFormsTests(TestCase):
self.assertEqual(form.cleaned_data['dt'], datetime.datetime(2011, 9, 1, 10, 20, 30, tzinfo=UTC))
@requires_tz_support
+ def test_localized_form(self):
+ form = EventLocalizedForm(initial={'dt': datetime.datetime(2011, 9, 1, 13, 20, 30, tzinfo=EAT)})
+ with timezone.override(ICT):
+ self.assertIn("2011-09-01 17:20:30", str(form))
+
+ @requires_tz_support
def test_model_form(self):
EventModelForm({'dt': '2011-09-01 13:20:30'}).save()
e = Event.objects.get()
self.assertEqual(e.dt, datetime.datetime(2011, 9, 1, 10, 20, 30, tzinfo=UTC))
+ @requires_tz_support
+ def test_localized_model_form(self):
+ form = EventLocalizedModelForm(instance=Event(dt=datetime.datetime(2011, 9, 1, 13, 20, 30, tzinfo=EAT)))
+ with timezone.override(ICT):
+ self.assertIn("2011-09-01 17:20:30", str(form))
+
@override_settings(DATETIME_FORMAT='c', TIME_ZONE='Africa/Nairobi', USE_L10N=False, USE_TZ=True,
PASSWORD_HASHERS=('django.contrib.auth.hashers.SHA1PasswordHasher',))