diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-05-04 14:59:26 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-05-04 14:59:26 -0400 |
commit | 2a99b770ddf144c279ad8b42ad8593b3439cd2de (patch) | |
tree | 669f31c9921dc568fe94d73f31cdc5574062fcb6 /test/sql/test_unicode.py | |
parent | 6f82c320b8834761fa9606119a4c2cbc6c3312f1 (diff) | |
download | sqlalchemy-2a99b770ddf144c279ad8b42ad8593b3439cd2de.tar.gz |
- unicode literals need to just be handled differently if they have utf-8
encoded in them vs. unicode escaping. not worth figuring out how to combine
these right now
Diffstat (limited to 'test/sql/test_unicode.py')
-rw-r--r-- | test/sql/test_unicode.py | 81 |
1 files changed, 41 insertions, 40 deletions
diff --git a/test/sql/test_unicode.py b/test/sql/test_unicode.py index 2ab081dad..ffcef903f 100644 --- a/test/sql/test_unicode.py +++ b/test/sql/test_unicode.py @@ -7,6 +7,7 @@ from sqlalchemy import testing from sqlalchemy.testing.engines import utf8_engine from sqlalchemy.sql import column from sqlalchemy.testing.schema import Table, Column +from sqlalchemy.util import u, ue class UnicodeSchemaTest(fixtures.TestBase): __requires__ = ('unicode_ddl',) @@ -18,14 +19,14 @@ class UnicodeSchemaTest(fixtures.TestBase): unicode_bind = utf8_engine() metadata = MetaData(unicode_bind) - t1 = Table('unitable1', metadata, - Column('méil', Integer, primary_key=True), - Column('\u6e2c\u8a66', Integer), + t1 = Table(u('unitable1'), metadata, + Column(u('méil'), Integer, primary_key=True), + Column(ue('\u6e2c\u8a66'), Integer), test_needs_fk=True, ) - t2 = Table('Unitéble2', metadata, - Column('méil', Integer, primary_key=True, key="a"), - Column('\u6e2c\u8a66', Integer, ForeignKey('unitable1.méil'), + t2 = Table(u('Unitéble2'), metadata, + Column(u('méil'), Integer, primary_key=True, key="a"), + Column(ue('\u6e2c\u8a66'), Integer, ForeignKey(u('unitable1.méil')), key="b" ), test_needs_fk=True, @@ -33,27 +34,27 @@ class UnicodeSchemaTest(fixtures.TestBase): # Few DBs support Unicode foreign keys if testing.against('sqlite'): - t3 = Table('\u6e2c\u8a66', metadata, - Column('\u6e2c\u8a66_id', Integer, primary_key=True, + t3 = Table(ue('\u6e2c\u8a66'), metadata, + Column(ue('\u6e2c\u8a66_id'), Integer, primary_key=True, autoincrement=False), - Column('unitable1_\u6e2c\u8a66', Integer, - ForeignKey('unitable1.\u6e2c\u8a66') + Column(ue('unitable1_\u6e2c\u8a66'), Integer, + ForeignKey(ue('unitable1.\u6e2c\u8a66')) ), - Column('Unitéble2_b', Integer, - ForeignKey('Unitéble2.b') + Column(u('Unitéble2_b'), Integer, + ForeignKey(u('Unitéble2.b')) ), - Column('\u6e2c\u8a66_self', Integer, - ForeignKey('\u6e2c\u8a66.\u6e2c\u8a66_id') + Column(ue('\u6e2c\u8a66_self'), Integer, + ForeignKey(ue('\u6e2c\u8a66.\u6e2c\u8a66_id')) ), test_needs_fk=True, ) else: - t3 = Table('\u6e2c\u8a66', metadata, - Column('\u6e2c\u8a66_id', Integer, primary_key=True, + t3 = Table(ue('\u6e2c\u8a66'), metadata, + Column(ue('\u6e2c\u8a66_id'), Integer, primary_key=True, autoincrement=False), - Column('unitable1_\u6e2c\u8a66', Integer), - Column('Unitéble2_b', Integer), - Column('\u6e2c\u8a66_self', Integer), + Column(ue('unitable1_\u6e2c\u8a66'), Integer), + Column(u('Unitéble2_b'), Integer), + Column(ue('\u6e2c\u8a66_self'), Integer), test_needs_fk=True, ) metadata.create_all() @@ -72,42 +73,42 @@ class UnicodeSchemaTest(fixtures.TestBase): del unicode_bind def test_insert(self): - t1.insert().execute({'méil':1, '\u6e2c\u8a66':5}) - t2.insert().execute({'a':1, 'b':1}) - t3.insert().execute({'\u6e2c\u8a66_id': 1, - 'unitable1_\u6e2c\u8a66': 5, - 'Unitéble2_b': 1, - '\u6e2c\u8a66_self': 1}) + t1.insert().execute({u('méil'):1, ue('\u6e2c\u8a66'):5}) + t2.insert().execute({u('a'):1, u('b'):1}) + t3.insert().execute({ue('\u6e2c\u8a66_id'): 1, + ue('unitable1_\u6e2c\u8a66'): 5, + u('Unitéble2_b'): 1, + ue('\u6e2c\u8a66_self'): 1}) assert t1.select().execute().fetchall() == [(1, 5)] assert t2.select().execute().fetchall() == [(1, 1)] assert t3.select().execute().fetchall() == [(1, 5, 1, 1)] def test_reflect(self): - t1.insert().execute({'méil':2, '\u6e2c\u8a66':7}) - t2.insert().execute({'a':2, 'b':2}) - t3.insert().execute({'\u6e2c\u8a66_id': 2, - 'unitable1_\u6e2c\u8a66': 7, - 'Unitéble2_b': 2, - '\u6e2c\u8a66_self': 2}) + t1.insert().execute({u('méil'):2, ue('\u6e2c\u8a66'):7}) + t2.insert().execute({u('a'):2, u('b'):2}) + t3.insert().execute({ue('\u6e2c\u8a66_id'): 2, + ue('unitable1_\u6e2c\u8a66'): 7, + u('Unitéble2_b'): 2, + ue('\u6e2c\u8a66_self'): 2}) meta = MetaData(unicode_bind) tt1 = Table(t1.name, meta, autoload=True) tt2 = Table(t2.name, meta, autoload=True) tt3 = Table(t3.name, meta, autoload=True) - tt1.insert().execute({'méil':1, '\u6e2c\u8a66':5}) - tt2.insert().execute({'méil':1, '\u6e2c\u8a66':1}) - tt3.insert().execute({'\u6e2c\u8a66_id': 1, - 'unitable1_\u6e2c\u8a66': 5, - 'Unitéble2_b': 1, - '\u6e2c\u8a66_self': 1}) + tt1.insert().execute({u('méil'):1, ue('\u6e2c\u8a66'):5}) + tt2.insert().execute({u('méil'):1, ue('\u6e2c\u8a66'):1}) + tt3.insert().execute({ue('\u6e2c\u8a66_id'): 1, + ue('unitable1_\u6e2c\u8a66'): 5, + u('Unitéble2_b'): 1, + ue('\u6e2c\u8a66_self'): 1}) - self.assert_(tt1.select(order_by=desc('méil')).execute().fetchall() == + self.assert_(tt1.select(order_by=desc(u('méil'))).execute().fetchall() == [(2, 7), (1, 5)]) - self.assert_(tt2.select(order_by=desc('méil')).execute().fetchall() == + self.assert_(tt2.select(order_by=desc(u('méil'))).execute().fetchall() == [(2, 2), (1, 1)]) - self.assert_(tt3.select(order_by=desc('\u6e2c\u8a66_id')). + self.assert_(tt3.select(order_by=desc(ue('\u6e2c\u8a66_id'))). execute().fetchall() == [(2, 7, 2, 2), (1, 5, 1, 1)]) meta.drop_all() |