diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2015-09-13 09:30:35 +0200 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2015-09-17 23:01:33 +0200 |
| commit | 4f6a7663bcddffb114f2647f9928cbf1fdd8e4b5 (patch) | |
| tree | 648c2ae602182f4ae41095ddd40a8515cf5a1ced /tests/backends | |
| parent | fc8a6a9b002aef90ff68f3d95e560db1ea728c76 (diff) | |
Refs #14091 -- Fixed connection.queries on SQLite.
Diffstat (limited to 'tests/backends')
| -rw-r--r-- | tests/backends/tests.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/tests/backends/tests.py b/tests/backends/tests.py index b7b8c9cade..39a2654a77 100644 --- a/tests/backends/tests.py +++ b/tests/backends/tests.py @@ -26,7 +26,6 @@ from django.test import ( SimpleTestCase, TestCase, TransactionTestCase, mock, override_settings, skipIfDBFeature, skipUnlessDBFeature, ) -from django.test.utils import str_prefix from django.utils import six from django.utils.six.moves import range @@ -388,8 +387,19 @@ class LastExecutedQueryTest(TestCase): # This shouldn't raise an exception query = "SELECT strftime('%Y', 'now');" connection.cursor().execute(query) - self.assertEqual(connection.queries[-1]['sql'], - str_prefix("QUERY = %(_)s\"SELECT strftime('%%Y', 'now');\" - PARAMS = ()")) + self.assertEqual(connection.queries[-1]['sql'], query) + + @unittest.skipUnless(connection.vendor == 'sqlite', + "This test is specific to SQLite.") + def test_parameter_quoting_on_sqlite(self): + # The implementation of last_executed_queries isn't optimal. It's + # worth testing that parameters are quoted. See #14091. + query = "SELECT %s" + params = ["\"'\\"] + connection.cursor().execute(query, params) + # Note that the single quote is repeated + substituted = "SELECT '\"''\\'" + self.assertEqual(connection.queries[-1]['sql'], substituted) class ParameterHandlingTest(TestCase): |
