summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/test_compiler.py16
-rw-r--r--test/sql/test_types.py23
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},
+ )