Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[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.
  • Loading branch information...
commit e76dd4cd1a12f610698b8aa8854b0e0e1dfb21a2 1 parent ece8d65
@aaugustin aaugustin authored
Showing with 22 additions and 1 deletion.
  1. +9 −0 tests/timezones/forms.py
  2. +13 −1 tests/timezones/tests.py
View
9 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__'
View
14 tests/timezones/tests.py
@@ -27,7 +27,7 @@
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 @@ def test_split_form(self):
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',))
Please sign in to comment.
Something went wrong with that request. Please try again.