From 92ccbfc012107a6b6ea27b51fa1c609ac449ce66 Mon Sep 17 00:00:00 2001 From: Andi Albrecht Date: Thu, 17 Mar 2011 09:41:39 +0100 Subject: Ignore case in token.match() for all keyword types (fixes issue34). --- sqlparse/sql.py | 2 +- tests/test_regressions.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 tests/test_regressions.py diff --git a/sqlparse/sql.py b/sqlparse/sql.py index a2462bc..8e2e82b 100644 --- a/sqlparse/sql.py +++ b/sqlparse/sql.py @@ -79,7 +79,7 @@ class Token(object): return True return False else: - if self.ttype is T.Keyword: + if self.ttype in T.Keyword: values = set([v.upper() for v in values]) return self.value.upper() in values else: diff --git a/tests/test_regressions.py b/tests/test_regressions.py new file mode 100644 index 0000000..0d65ef7 --- /dev/null +++ b/tests/test_regressions.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- + +import unittest + +import sqlparse +from sqlparse import tokens + + +class RegressionTests(unittest.TestCase): + + def test_issue34(self): + t = sqlparse.parse("create")[0].token_first() + self.assertEqual(t.match(tokens.Keyword.DDL, "create"), True) + self.assertEqual(t.match(tokens.Keyword.DDL, "CREATE"), True) -- cgit v1.2.1