summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sqlparse/keywords.py2
-rw-r--r--tests/test_format.py5
-rw-r--r--tests/test_parse.py21
3 files changed, 27 insertions, 1 deletions
diff --git a/sqlparse/keywords.py b/sqlparse/keywords.py
index e1579f1..28545d8 100644
--- a/sqlparse/keywords.py
+++ b/sqlparse/keywords.py
@@ -28,7 +28,7 @@ SQL_REGEX = {
(r'/\*[\s\S]*?\*/', tokens.Comment.Multiline),
(r'(\r\n|\r|\n)', tokens.Newline),
- (r'\s+', tokens.Whitespace),
+ (r'\s+?', tokens.Whitespace),
(r':=', tokens.Assignment),
(r'::', tokens.Punctuation),
diff --git a/tests/test_format.py b/tests/test_format.py
index 72af62e..f0dbcf2 100644
--- a/tests/test_format.py
+++ b/tests/test_format.py
@@ -362,6 +362,11 @@ class TestFormatReindent(object):
'from',
' (select *',
' from foo);'])
+ assert f("select f(1)") == 'select f(1)'
+ assert f("select f( 1 )") == 'select f(1)'
+ assert f("select f(\n\n\n1\n\n\n)") == 'select f( 1 )'
+ assert f("select f(\n\n\n 1 \n\n\n)") == 'select f( 1 )'
+ assert f("select f(\n\n\n 1 \n\n\n)") == 'select f( 1 )'
def test_where(self):
f = lambda sql: sqlparse.format(sql, reindent=True)
diff --git a/tests/test_parse.py b/tests/test_parse.py
index 30be32b..d191f65 100644
--- a/tests/test_parse.py
+++ b/tests/test_parse.py
@@ -433,3 +433,24 @@ def test_get_real_name():
assert len(stmts) == 1
assert 'a' == stmts[0].get_real_name()
assert 't' == stmts[0].get_alias()
+
+
+def test_parenthesis():
+ tokens = sqlparse.parse("(\n\n1\n\n)")[0].tokens[0].tokens
+ assert list(map(lambda t: t.ttype, tokens)) == [T.Punctuation,
+ T.Newline,
+ T.Newline,
+ T.Number.Integer,
+ T.Newline,
+ T.Newline,
+ T.Punctuation]
+ tokens = sqlparse.parse("(\n\n 1 \n\n)")[0].tokens[0].tokens
+ assert list(map(lambda t: t.ttype, tokens)) == [T.Punctuation,
+ T.Newline,
+ T.Newline,
+ T.Whitespace,
+ T.Number.Integer,
+ T.Whitespace,
+ T.Newline,
+ T.Newline,
+ T.Punctuation]