mirror of
https://github.com/django/django.git
synced 2025-08-04 19:08:28 +00:00
Removed DatabaseFeatures.supports_microsecond_precision.
MySQL 5.5 (refs #28552) was the last database to use it.
This commit is contained in:
parent
8a1768432b
commit
a80903b711
8 changed files with 89 additions and 199 deletions
|
@ -56,21 +56,12 @@ class LegacyDatabaseTests(TestCase):
|
|||
event = Event.objects.get()
|
||||
self.assertEqual(event.dt, dt)
|
||||
|
||||
@skipUnlessDBFeature('supports_microsecond_precision')
|
||||
def test_naive_datetime_with_microsecond(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, 405060)
|
||||
Event.objects.create(dt=dt)
|
||||
event = Event.objects.get()
|
||||
self.assertEqual(event.dt, dt)
|
||||
|
||||
@skipIfDBFeature('supports_microsecond_precision')
|
||||
def test_naive_datetime_with_microsecond_unsupported(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, 405060)
|
||||
Event.objects.create(dt=dt)
|
||||
event = Event.objects.get()
|
||||
# microseconds are lost during a round-trip in the database
|
||||
self.assertEqual(event.dt, dt.replace(microsecond=0))
|
||||
|
||||
@skipUnlessDBFeature('supports_timezones')
|
||||
def test_aware_datetime_in_local_timezone(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, tzinfo=EAT)
|
||||
|
@ -81,7 +72,6 @@ class LegacyDatabaseTests(TestCase):
|
|||
self.assertEqual(event.dt.replace(tzinfo=EAT), dt)
|
||||
|
||||
@skipUnlessDBFeature('supports_timezones')
|
||||
@skipUnlessDBFeature('supports_microsecond_precision')
|
||||
def test_aware_datetime_in_local_timezone_with_microsecond(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, 405060, tzinfo=EAT)
|
||||
Event.objects.create(dt=dt)
|
||||
|
@ -90,18 +80,6 @@ class LegacyDatabaseTests(TestCase):
|
|||
# interpret the naive datetime in local time to get the correct value
|
||||
self.assertEqual(event.dt.replace(tzinfo=EAT), dt)
|
||||
|
||||
# This combination actually never happens.
|
||||
@skipUnlessDBFeature('supports_timezones')
|
||||
@skipIfDBFeature('supports_microsecond_precision')
|
||||
def test_aware_datetime_in_local_timezone_with_microsecond_unsupported(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, 405060, tzinfo=EAT)
|
||||
Event.objects.create(dt=dt)
|
||||
event = Event.objects.get()
|
||||
self.assertIsNone(event.dt.tzinfo)
|
||||
# interpret the naive datetime in local time to get the correct value
|
||||
# microseconds are lost during a round-trip in the database
|
||||
self.assertEqual(event.dt.replace(tzinfo=EAT), dt.replace(microsecond=0))
|
||||
|
||||
@skipUnlessDBFeature('supports_timezones')
|
||||
def test_aware_datetime_in_utc(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 10, 20, 30, tzinfo=UTC)
|
||||
|
@ -274,7 +252,6 @@ class NewDatabaseTests(TestCase):
|
|||
self.assertEqual(event.dt, datetime.datetime(2011, 9, 1, tzinfo=EAT))
|
||||
|
||||
@requires_tz_support
|
||||
@skipUnlessDBFeature('supports_microsecond_precision')
|
||||
def test_naive_datetime_with_microsecond(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, 405060)
|
||||
with warnings.catch_warnings(record=True) as recorded:
|
||||
|
@ -288,43 +265,18 @@ class NewDatabaseTests(TestCase):
|
|||
# naive datetimes are interpreted in local time
|
||||
self.assertEqual(event.dt, dt.replace(tzinfo=EAT))
|
||||
|
||||
@requires_tz_support
|
||||
@skipIfDBFeature('supports_microsecond_precision')
|
||||
def test_naive_datetime_with_microsecond_unsupported(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, 405060)
|
||||
with warnings.catch_warnings(record=True) as recorded:
|
||||
warnings.simplefilter('always')
|
||||
Event.objects.create(dt=dt)
|
||||
self.assertEqual(len(recorded), 1)
|
||||
msg = str(recorded[0].message)
|
||||
self.assertTrue(msg.startswith("DateTimeField Event.dt received "
|
||||
"a naive datetime"))
|
||||
event = Event.objects.get()
|
||||
# microseconds are lost during a round-trip in the database
|
||||
# naive datetimes are interpreted in local time
|
||||
self.assertEqual(event.dt, dt.replace(microsecond=0, tzinfo=EAT))
|
||||
|
||||
def test_aware_datetime_in_local_timezone(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, tzinfo=EAT)
|
||||
Event.objects.create(dt=dt)
|
||||
event = Event.objects.get()
|
||||
self.assertEqual(event.dt, dt)
|
||||
|
||||
@skipUnlessDBFeature('supports_microsecond_precision')
|
||||
def test_aware_datetime_in_local_timezone_with_microsecond(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, 405060, tzinfo=EAT)
|
||||
Event.objects.create(dt=dt)
|
||||
event = Event.objects.get()
|
||||
self.assertEqual(event.dt, dt)
|
||||
|
||||
@skipIfDBFeature('supports_microsecond_precision')
|
||||
def test_aware_datetime_in_local_timezone_with_microsecond_unsupported(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, 405060, tzinfo=EAT)
|
||||
Event.objects.create(dt=dt)
|
||||
event = Event.objects.get()
|
||||
# microseconds are lost during a round-trip in the database
|
||||
self.assertEqual(event.dt, dt.replace(microsecond=0))
|
||||
|
||||
def test_aware_datetime_in_utc(self):
|
||||
dt = datetime.datetime(2011, 9, 1, 10, 20, 30, tzinfo=UTC)
|
||||
Event.objects.create(dt=dt)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue