diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-11-09 11:40:23 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-11-09 11:40:23 -0500 |
| commit | a41c50ad63f688cce99fdb9920c4f7c24ef0c866 (patch) | |
| tree | d811319676606ce89642bf316499e101c785b974 /test/engine | |
| parent | 30bc42403754110df1fdec3037c7700cc4f26b70 (diff) | |
| download | sqlalchemy-a41c50ad63f688cce99fdb9920c4f7c24ef0c866.tar.gz | |
- Implemented sequence check capability for the C
version of RowProxy, as well as 2.7 style
"collections.Sequence" registration for RowProxy.
[ticket:1871]
Diffstat (limited to 'test/engine')
| -rw-r--r-- | test/engine/test_execute.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py index ee5953c74..bbec402b2 100644 --- a/test/engine/test_execute.py +++ b/test/engine/test_execute.py @@ -289,6 +289,37 @@ class ResultProxyTest(TestBase): assert_raises(AssertionError, t.delete().execute) finally: engine.dialect.execution_ctx_cls = execution_ctx_cls + + def test_rowproxy_is_sequence(self): + import collections + from sqlalchemy.engine import RowProxy + + row = RowProxy(object(), ['value'], [None], {'key' + : (None, 0), 0: (None, 0)}) + assert isinstance(row, collections.Sequence) + + @testing.requires.cextensions + def test_row_c_sequence_check(self): + import csv + import collections + from StringIO import StringIO + + metadata = MetaData() + metadata.bind = 'sqlite://' + users = Table('users', metadata, + Column('id', Integer, primary_key=True), + Column('name', String(40)), + ) + users.create() + + users.insert().execute(name='Test') + row = users.select().execute().fetchone() + + s = StringIO() + writer = csv.writer(s) + # csv performs PySequenceCheck call + writer.writerow(row) + assert s.getvalue().strip() == '1,Test' class ProxyConnectionTest(TestBase): |
