diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2016-07-30 12:54:10 -0400 |
|---|---|---|
| committer | Gerrit Code Review <gerrit2@ln3.zzzcomputing.com> | 2016-07-30 12:54:10 -0400 |
| commit | cda9defe58f80759f2b40e658fd7b25eb4d92610 (patch) | |
| tree | 9182994c7b48648cf8267d3cd616e00410d91867 /test | |
| parent | 99248e843d4acde786e373a3056083ea34d72589 (diff) | |
| parent | 6327c59d4f34947128bd9b2860a1732a6932b4d7 (diff) | |
| download | sqlalchemy-cda9defe58f80759f2b40e658fd7b25eb4d92610.tar.gz | |
Merge "Index should extract __clause_element__() early"
Diffstat (limited to 'test')
| -rw-r--r-- | test/sql/test_metadata.py | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py index d6e5a5dd4..cf7f7628a 100644 --- a/test/sql/test_metadata.py +++ b/test/sql/test_metadata.py @@ -2147,6 +2147,27 @@ class ConstraintTest(fixtures.TestBase): idx = Index('q', c) is_(idx.table, None) # lower-case-T table doesn't have indexes + def test_clauseelement_extraction_one(self): + t = Table('t', MetaData(), Column('x', Integer), Column('y', Integer)) + + class MyThing(object): + def __clause_element__(self): + return t.c.x + 5 + + idx = Index('foo', MyThing()) + self._assert_index_col_x(t, idx) + + def test_clauseelement_extraction_two(self): + t = Table('t', MetaData(), Column('x', Integer), Column('y', Integer)) + + class MyThing(object): + def __clause_element__(self): + return t.c.x + 5 + + idx = Index('bar', MyThing(), t.c.y) + + eq_(set(t.indexes), set([idx])) + def test_table_references(self): t1, t2, t3 = self._single_fixture() assert list(t2.c.a.foreign_keys)[0].references(t1) @@ -2911,8 +2932,9 @@ class ConstraintTest(fixtures.TestBase): def __clause_element__(self): return t2 - assert_raises( + assert_raises_message( exc.ArgumentError, + "Element Table\('t2', .* is not a string name or column element", Index, "foo", SomeClass() ) |
