From 7a6e9f763377eb7cba4bad4912f8c5049a5d7c9d Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Sun, 16 Sep 2007 10:04:26 +0000 Subject: [PATCH] Rewrote the backends test to be more portable. Was previously failing on MySQL. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6354 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/regressiontests/backends/models.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/tests/regressiontests/backends/models.py b/tests/regressiontests/backends/models.py index a455f21e67..db16d2c198 100644 --- a/tests/regressiontests/backends/models.py +++ b/tests/regressiontests/backends/models.py @@ -1,4 +1,5 @@ from django.db import models +from django.db import connection class Square(models.Model): root = models.IntegerField() @@ -7,18 +8,27 @@ class Square(models.Model): def __unicode__(self): return "%s ** 2 == %s" % (self.root, self.square) +if connection.features.uses_case_insensitive_names: + t_convert = lambda x: x.upper() +else: + t_convert = lambda x: x +qn = connection.ops.quote_name + __test__ = {'API_TESTS': """ #4896: Test cursor.executemany >>> from django.db import connection >>> cursor = connection.cursor() ->>> cursor.executemany('INSERT INTO BACKENDS_SQUARE (ROOT, SQUARE) VALUES (%s, %s)', -... [(i, i**2) for i in range(-5, 6)]) and None or None +>>> opts = Square._meta +>>> f1, f2 = opts.get_field('root'), opts.get_field('square') +>>> query = ('INSERT INTO %s (%s, %s) VALUES (%%s, %%s)' +... % (t_convert(opts.db_table), qn(f1.column), qn(f2.column))) +>>> cursor.executemany(query, [(i, i**2) for i in range(-5, 6)]) and None or None >>> Square.objects.order_by('root') [, , , , , , , , , , ] #4765: executemany with params=[] does nothing ->>> cursor.executemany('INSERT INTO BACKENDS_SQUARE (ROOT, SQUARE) VALUES (%s, %s)', []) and None or None +>>> cursor.executemany(query, []) and None or None >>> Square.objects.count() 11