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.
This commit is contained in:
parent
56743cf9e3
commit
5444a9c683
|
@ -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__'
|
||||
|
|
|
@ -26,7 +26,7 @@ from django.test.utils import override_settings
|
|||
from django.utils import six
|
||||
from django.utils import timezone
|
||||
|
||||
from .forms import EventForm, EventSplitForm, EventModelForm
|
||||
from .forms import EventForm, EventSplitForm, EventLocalizedForm, EventModelForm, EventLocalizedModelForm
|
||||
from .models import Event, MaybeEvent, Session, SessionEvent, Timestamp, AllDayEvent
|
||||
|
||||
|
||||
|
@ -1040,12 +1040,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',))
|
||||
|
|
Loading…
Reference in New Issue