From: Mike Bayer Date: Sat, 24 Nov 2012 00:32:41 +0000 (-0500) Subject: - adjust this test for the ugly reality of the "name normalize" backends, where becau... X-Git-Tag: rel_0_8_0b2~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d1bf4d2b863ef71cc936977a9fee1a5b056aff67;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - adjust this test for the ugly reality of the "name normalize" backends, where because we've decided that "lowercase" is the case insensitive casing, we can't distinguish between case insensitive/not on a database that returns case-insensitive names as UPPERCASE, for names that are UPPERCASE. [ticket:2615] --- diff --git a/test/sql/test_quote.py b/test/sql/test_quote.py index 50a8a414b8..8b14d23a98 100644 --- a/test/sql/test_quote.py +++ b/test/sql/test_quote.py @@ -43,10 +43,24 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL): meta2 = MetaData(testing.db) t2 = Table('WorstCase1', meta2, autoload=True, quote=True) assert 'lowercase' in t2.c - assert 'UPPERCASE' in t2.c - assert 'MixedCase' in t2.c + + # indicates the DB returns unquoted names as + # UPPERCASE, which we then assume are unquoted and go to + # lower case. So we cannot accurately reflect quoted UPPERCASE + # names from a "name normalize" backend, as they cannot be + # distinguished from case-insensitive/unquoted names. + if testing.db.dialect.requires_name_normalize: + assert 'uppercase' in t2.c + else: + assert 'UPPERCASE' in t2.c + + # ASC OTOH is a reserved word, which is always quoted, so + # with that name we keep the quotes on and it stays uppercase + # regardless. Seems a little weird, though. assert 'ASC' in t2.c + assert 'MixedCase' in t2.c + def test_basic(self): table1.insert().execute( {'lowercase': 1, 'UPPERCASE': 2, 'MixedCase': 3, 'a123': 4},