summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndi Albrecht <albrecht.andi@gmail.com>2011-07-25 18:24:02 +0200
committerAndi Albrecht <albrecht.andi@gmail.com>2011-07-25 18:24:02 +0200
commit0ec64528c5fb1efb71122985eab9c7137a80603d (patch)
treedbd4330ac149c12cb7dba54b0ad3fa54f108facd /tests
parentc078f16a40a832df5c0dcb58c982d6941dbe879f (diff)
downloadsqlparse-0ec64528c5fb1efb71122985eab9c7137a80603d.tar.gz
Detection of placeholders in paramterized queries (fixes issue22).
Diffstat (limited to 'tests')
-rw-r--r--tests/test_parse.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_parse.py b/tests/test_parse.py
index bcde674..6ff8dd8 100644
--- a/tests/test_parse.py
+++ b/tests/test_parse.py
@@ -75,3 +75,23 @@ class SQLParseTest(TestCaseBase):
t = sqlparse.parse('12.5')[0].tokens
self.assertEqual(len(t), 1)
self.assert_(t[0].ttype is sqlparse.tokens.Number.Float)
+
+ def test_placeholder(self):
+ def _get_tokens(sql):
+ return sqlparse.parse(sql)[0].tokens[-1].tokens
+ t = _get_tokens('select * from foo where user = ?')
+ self.assert_(t[-1].ttype is sqlparse.tokens.Name.Placeholder)
+ self.assertEqual(t[-1].value, '?')
+ t = _get_tokens('select * from foo where user = :1')
+ self.assert_(t[-1].ttype is sqlparse.tokens.Name.Placeholder)
+ self.assertEqual(t[-1].value, ':1')
+ t = _get_tokens('select * from foo where user = :name')
+ self.assert_(t[-1].ttype is sqlparse.tokens.Name.Placeholder)
+ self.assertEqual(t[-1].value, ':name')
+ t = _get_tokens('select * from foo where user = %s')
+ self.assert_(t[-1].ttype is sqlparse.tokens.Name.Placeholder)
+ self.assertEqual(t[-1].value, '%s')
+ t = _get_tokens('select * from foo where user = $a')
+ self.assert_(t[-1].ttype is sqlparse.tokens.Name.Placeholder)
+ self.assertEqual(t[-1].value, '$a')
+