diff --git a/tests/timezones/forms.py b/tests/timezones/forms.py index 45fb1d080b9..d99c9b77d5c 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 844bdb83fe1..0233ea50298 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 @@ -1036,12 +1036,24 @@ class NewFormsTests(TestCase): self.assertTrue(form.is_valid()) 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',))