diff options
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.""" |
