diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2020-03-30 13:57:08 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@bbpush.zzzcomputing.com> | 2020-03-30 13:57:08 +0000 |
| commit | ffcc16b114f14459f1b90b10e126fc31afef682a (patch) | |
| tree | fab1c6f9dc4cfa8ab1f5aaa9e15ed72e54a268c4 /test | |
| parent | 73f7f85d9da7ebe8811d180f113714bfd8283662 (diff) | |
| parent | 83eb1b23cbe5a7ee0f2534256cf16f0f865bdbbb (diff) | |
| download | sqlalchemy-ffcc16b114f14459f1b90b10e126fc31afef682a.tar.gz | |
Merge "String compiler can now literal compile datetime objects"
Diffstat (limited to 'test')
| -rw-r--r-- | test/sql/test_compiler.py | 16 | ||||
| -rw-r--r-- | test/sql/test_types.py | 23 |
2 files changed, 39 insertions, 0 deletions
diff --git a/test/sql/test_compiler.py b/test/sql/test_compiler.py index ef3e5d26e..151ecb1d2 100644 --- a/test/sql/test_compiler.py +++ b/test/sql/test_compiler.py @@ -10,6 +10,7 @@ styling and coherent test organization. """ +import datetime import decimal from sqlalchemy import alias @@ -3745,6 +3746,21 @@ class StringifySpecialTest(fixtures.TestBase): "WITHIN GROUP (ORDER BY mytable.name DESC) AS anon_1 FROM mytable", ) + @testing.combinations( + ("datetime", datetime.datetime.now()), + ("date", datetime.date.today()), + ("time", datetime.time()), + argnames="value", + id_="ia", + ) + def test_render_datetime(self, value): + lit = literal(value) + + eq_ignore_whitespace( + str(lit.compile(compile_kwargs={"literal_binds": True})), + "'%s'" % value, + ) + class KwargPropagationTest(fixtures.TestBase): @classmethod diff --git a/test/sql/test_types.py b/test/sql/test_types.py index 9fb79958d..2af8cb325 100644 --- a/test/sql/test_types.py +++ b/test/sql/test_types.py @@ -3237,3 +3237,26 @@ class CallableTest(fixtures.TestBase): ) assert isinstance(thang_table.c.name.type, Unicode) thang_table.create() + + +class LiteralTest(fixtures.TestBase): + __backend__ = True + + @testing.combinations( + ("datetime", datetime.datetime.now()), + ("date", datetime.date.today()), + ("time", datetime.time()), + argnames="value", + id_="ia", + ) + @testing.skip_if(lambda: testing.requires.datetime_literals) + def test_render_datetime(self, value): + lit = literal(value) + + assert_raises_message( + NotImplementedError, + "Don't know how to literal-quote value.*", + lit.compile, + dialect=testing.db.dialect, + compile_kwargs={"literal_binds": True}, + ) |
