diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-05-01 10:40:25 +0200 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-05-01 11:29:55 +0200 |
| commit | 46b082e05ccedffeb623028caf70adbaba7bce6f (patch) | |
| tree | 30c237f7767187c92690ac30c8cca4ead9023779 /tests | |
| parent | 4fdd378beb81a86d826d7ee83c7d2250ed958be1 (diff) | |
Fixed #17742 -- Handled aware datetimes in DateField
Converted aware datetimes to the default time zone before using them
in the context of a DateField.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/modeltests/timezones/models.py | 3 | ||||
| -rw-r--r-- | tests/modeltests/timezones/tests.py | 20 |
2 files changed, 21 insertions, 2 deletions
diff --git a/tests/modeltests/timezones/models.py b/tests/modeltests/timezones/models.py index f0cc79275d..c49e42f887 100644 --- a/tests/modeltests/timezones/models.py +++ b/tests/modeltests/timezones/models.py @@ -16,3 +16,6 @@ class SessionEvent(models.Model): class Timestamp(models.Model): created = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) + +class AllDayEvent(models.Model): + day = models.DateField() diff --git a/tests/modeltests/timezones/tests.py b/tests/modeltests/timezones/tests.py index 90bc1f3a18..ddfbc045d9 100644 --- a/tests/modeltests/timezones/tests.py +++ b/tests/modeltests/timezones/tests.py @@ -23,7 +23,7 @@ from django.utils.tzinfo import FixedOffset from django.utils.unittest import skipIf, skipUnless from .forms import EventForm, EventSplitForm, EventModelForm -from .models import Event, MaybeEvent, Session, SessionEvent, Timestamp +from .models import Event, MaybeEvent, Session, SessionEvent, Timestamp, AllDayEvent # These tests use the EAT (Eastern Africa Time) and ICT (Indochina Time) @@ -244,6 +244,14 @@ class LegacyDatabaseTests(TestCase): [event], transform=lambda d: d) + def test_filter_date_field_with_aware_datetime(self): + # Regression test for #17742 + day = datetime.date(2011, 9, 1) + event = AllDayEvent.objects.create(day=day) + # This is 2011-09-02T01:30:00+03:00 in EAT + dt = datetime.datetime(2011, 9, 1, 22, 30, 0, tzinfo=UTC) + self.assertTrue(AllDayEvent.objects.filter(day__gte=dt).exists()) + @override_settings(TIME_ZONE='Africa/Nairobi', USE_TZ=True) class NewDatabaseTests(TestCase): @@ -456,8 +464,16 @@ class NewDatabaseTests(TestCase): [event], transform=lambda d: d) + def test_filter_date_field_with_aware_datetime(self): + # Regression test for #17742 + day = datetime.date(2011, 9, 1) + event = AllDayEvent.objects.create(day=day) + # This is 2011-09-02T01:30:00+03:00 in EAT + dt = datetime.datetime(2011, 9, 1, 22, 30, 0, tzinfo=UTC) + self.assertFalse(AllDayEvent.objects.filter(day__gte=dt).exists()) + def test_null_datetime(self): - # Regression for #17294 + # Regression test for #17294 e = MaybeEvent.objects.create() self.assertEqual(e.dt, None) |
