summaryrefslogtreecommitdiff
path: root/test/sql/test_query.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/sql/test_query.py')
-rw-r--r--test/sql/test_query.py59
1 files changed, 31 insertions, 28 deletions
diff --git a/test/sql/test_query.py b/test/sql/test_query.py
index 913b7f4d1..33245bfbc 100644
--- a/test/sql/test_query.py
+++ b/test/sql/test_query.py
@@ -34,6 +34,7 @@ from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
+from sqlalchemy.testing.util import resolve_lambda
class QueryTest(fixtures.TablesTest):
@@ -173,7 +174,34 @@ class QueryTest(fixtures.TablesTest):
select(tuple_(users.c.user_id, users.c.user_name)),
)
- def test_like_ops(self, connection):
+ @testing.combinations(
+ (
+ lambda users: select(users.c.user_id).where(
+ users.c.user_name.startswith("apple")
+ ),
+ [(1,)],
+ ),
+ (
+ lambda users: select(users.c.user_id).where(
+ users.c.user_name.contains("i % t")
+ ),
+ [(5,)],
+ ),
+ (
+ lambda users: select(users.c.user_id).where(
+ users.c.user_name.endswith("anas")
+ ),
+ [(3,)],
+ ),
+ (
+ lambda users: select(users.c.user_id).where(
+ users.c.user_name.contains("i % t", escape="&")
+ ),
+ [(5,)],
+ ),
+ argnames="expr,result",
+ )
+ def test_like_ops(self, connection, expr, result):
users = self.tables.users
connection.execute(
users.insert(),
@@ -186,33 +214,8 @@ class QueryTest(fixtures.TablesTest):
],
)
- for expr, result in (
- (
- select(users.c.user_id).where(
- users.c.user_name.startswith("apple")
- ),
- [(1,)],
- ),
- (
- select(users.c.user_id).where(
- users.c.user_name.contains("i % t")
- ),
- [(5,)],
- ),
- (
- select(users.c.user_id).where(
- users.c.user_name.endswith("anas")
- ),
- [(3,)],
- ),
- (
- select(users.c.user_id).where(
- users.c.user_name.contains("i % t", escape="&")
- ),
- [(5,)],
- ),
- ):
- eq_(connection.execute(expr).fetchall(), result)
+ expr = resolve_lambda(expr, users=users)
+ eq_(connection.execute(expr).fetchall(), result)
@testing.requires.mod_operator_as_percent_sign
@testing.emits_warning(".*now automatically escapes.*")