summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2014-09-26 08:43:50 +0200
committerClaude Paroz <claude@2xlibre.net>2014-09-26 20:03:44 +0200
commitdbdae3a75512bddbf0b75ea6354fb3fc4bdb53cf (patch)
tree0549f86a215a0a04703ed47ee8ec082d87f34cda /tests
parent45840927d3516770be2654422e752357d5c063a5 (diff)
Fixed #22738 -- Abstracted boolean field type introspection
Thanks maxi for the report, Shai Berger for his help with the patch and Tim Graham for the review.
Diffstat (limited to 'tests')
-rw-r--r--tests/inspectdb/tests.py9
-rw-r--r--tests/schema/tests.py11
2 files changed, 7 insertions, 13 deletions
diff --git a/tests/inspectdb/tests.py b/tests/inspectdb/tests.py
index fb72b3756f..8b187191ae 100644
--- a/tests/inspectdb/tests.py
+++ b/tests/inspectdb/tests.py
@@ -87,18 +87,19 @@ class InspectDBTestCase(TestCase):
else:
assertFieldType('big_int_field', "models.IntegerField()")
- if connection.features.can_introspect_boolean_field:
+ if connection.features.introspected_boolean_field_type == 'BooleanField':
assertFieldType('bool_field', "models.BooleanField()")
if connection.features.can_introspect_null:
assertFieldType('null_bool_field', "models.NullBooleanField()")
else:
assertFieldType('null_bool_field', "models.BooleanField()")
else:
- assertFieldType('bool_field', "models.IntegerField()")
+ field_type = connection.features.introspected_boolean_field_type
+ assertFieldType('bool_field', "models.{}()".format(field_type))
if connection.features.can_introspect_null:
- assertFieldType('null_bool_field', "models.IntegerField(blank=True, null=True)")
+ assertFieldType('null_bool_field', "models.{}(blank=True, null=True)".format(field_type))
else:
- assertFieldType('null_bool_field', "models.IntegerField()")
+ assertFieldType('null_bool_field', "models.{}()".format(field_type))
if connection.features.can_introspect_decimal_field:
assertFieldType('decimal_field', "models.DecimalField(max_digits=6, decimal_places=1)")
diff --git a/tests/schema/tests.py b/tests/schema/tests.py
index 02207ff6e9..82377041dc 100644
--- a/tests/schema/tests.py
+++ b/tests/schema/tests.py
@@ -313,15 +313,8 @@ class SchemaTests(TransactionTestCase):
# Ensure the field is right afterwards
columns = self.column_classes(Author)
# BooleanField are stored as TINYINT(1) on MySQL.
- field_type, field_info = columns['awesome']
- if connection.vendor == 'mysql':
- self.assertEqual(field_type, 'IntegerField')
- self.assertEqual(field_info.precision, 1)
- elif connection.vendor == 'oracle' and connection.version_has_default_introspection_bug:
- self.assertEqual(field_type, 'IntegerField')
- self.assertEqual(field_info.precision, 0)
- else:
- self.assertEqual(field_type, 'BooleanField')
+ field_type = columns['awesome'][0]
+ self.assertEqual(field_type, connection.features.introspected_boolean_field_type)
def test_add_field_default_transform(self):
"""