diff options
| author | Jason Kirtland <jek@discorporate.us> | 2009-03-30 20:41:48 +0000 |
|---|---|---|
| committer | Jason Kirtland <jek@discorporate.us> | 2009-03-30 20:41:48 +0000 |
| commit | aca84bebb091a51ceeb911249c366e17b954826a (patch) | |
| tree | 87a0424805905c9fdae0ab6930144c91b9a78ff6 /test/dialect/sqlite.py | |
| parent | 1ad157a0a1823706ffb43ee7d235c38ae16f46ff (diff) | |
| download | sqlalchemy-aca84bebb091a51ceeb911249c366e17b954826a.tar.gz | |
extract() is now dialect-sensitive and supports SQLite and others.
Diffstat (limited to 'test/dialect/sqlite.py')
| -rw-r--r-- | test/dialect/sqlite.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/test/dialect/sqlite.py b/test/dialect/sqlite.py index 97d12bf60..005fad66b 100644 --- a/test/dialect/sqlite.py +++ b/test/dialect/sqlite.py @@ -3,7 +3,7 @@ import testenv; testenv.configure_for_tests() import datetime from sqlalchemy import * -from sqlalchemy import exc +from sqlalchemy import exc, sql from sqlalchemy.databases import sqlite from testlib import * @@ -283,6 +283,36 @@ class DialectTest(TestBase, AssertsExecutionResults): pass raise + +class SQLTest(TestBase, AssertsCompiledSQL): + """Tests SQLite-dialect specific compilation.""" + + __dialect__ = sqlite.dialect() + + + def test_extract(self): + t = sql.table('t', sql.column('col1')) + + mapping = { + 'month': '%m', + 'day': '%d', + 'year': '%Y', + 'second': '%S', + 'hour': '%H', + 'doy': '%j', + 'minute': '%M', + 'epoch': '%s', + 'dow': '%w', + 'week': '%W', + } + + for field, subst in mapping.items(): + self.assert_compile( + select([extract(field, t.c.col1)]), + "SELECT CAST(STRFTIME('%s', t.col1) AS INTEGER) AS anon_1 " + "FROM t" % subst) + + class InsertTest(TestBase, AssertsExecutionResults): """Tests inserts and autoincrement.""" |
