diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-11-02 22:08:24 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-11-02 22:08:24 +0000 |
| commit | ff2f799ba3f5b0d1ea6d34119ff273e910db100d (patch) | |
| tree | 835ddceec1d81d965b9dc3f1c15dd678eed777a9 /test/sql/selectable.py | |
| parent | ea2e7fd365f88c7211daa850773b4d291c98372b (diff) | |
| download | sqlalchemy-ff2f799ba3f5b0d1ea6d34119ff273e910db100d.tar.gz | |
progress so far
Diffstat (limited to 'test/sql/selectable.py')
| -rwxr-xr-x | test/sql/selectable.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/test/sql/selectable.py b/test/sql/selectable.py index e41165b5b..f6bf3eb08 100755 --- a/test/sql/selectable.py +++ b/test/sql/selectable.py @@ -5,7 +5,7 @@ every selectable unit behaving nicely with others..""" import testenv; testenv.configure_for_tests() from sqlalchemy import * from testlib import * -from sqlalchemy.sql import util as sql_util +from sqlalchemy.sql import util as sql_util, visitors from sqlalchemy import exc metadata = MetaData() @@ -475,6 +475,21 @@ class AnnotationsTest(TestBase): assert inner.corresponding_column(t2.c.col1, require_embedded=False) is inner.corresponding_column(t2.c.col1, require_embedded=True) is inner.c.col1 assert inner.corresponding_column(t1.c.col1, require_embedded=False) is inner.corresponding_column(t1.c.col1, require_embedded=True) is inner.c.col1 + def test_annotated_visit(self): + from sqlalchemy.sql import table, column + table1 = table('table1', column("col1"), column("col2")) + + bin = table1.c.col1 == bindparam('foo', value=None) + assert str(bin) == "table1.col1 = :foo" + def visit_binary(b): + b.right = table1.c.col2 + b2 = visitors.cloned_traverse(bin, {}, {'binary':visit_binary}) + assert str(b2) == "table1.col1 = table1.col2" + + b3 = visitors.cloned_traverse(bin._annotate({}), {}, {'binary':visit_binary}) + assert str(b3) == "table1.col1 = table1.col2" + + if __name__ == "__main__": testenv.main() |
