diff options
| author | Claude Paroz <claude@2xlibre.net> | 2014-09-26 08:43:50 +0200 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2014-09-26 20:03:44 +0200 |
| commit | dbdae3a75512bddbf0b75ea6354fb3fc4bdb53cf (patch) | |
| tree | 0549f86a215a0a04703ed47ee8ec082d87f34cda /tests | |
| parent | 45840927d3516770be2654422e752357d5c063a5 (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.py | 9 | ||||
| -rw-r--r-- | tests/schema/tests.py | 11 |
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): """ |
