summaryrefslogtreecommitdiff
path: root/tests/test_format.py
diff options
context:
space:
mode:
authorAndi Albrecht <albrecht.andi@gmail.com>2009-05-06 18:50:27 +0200
committerAndi Albrecht <albrecht.andi@gmail.com>2009-05-06 18:50:27 +0200
commit01b2e8f15c57296bb14d7d56242fca641bcbcebe (patch)
tree9c07ff9aa40bb891d54ed729b403f5f4b80f88a1 /tests/test_format.py
parent974222bcb24a5b2bf3a0e5ecd616a2c3855e8342 (diff)
downloadsqlparse-01b2e8f15c57296bb14d7d56242fca641bcbcebe.tar.gz
* Python and PHP output filter now add a trailing whitespace.
* More test coverage.
Diffstat (limited to 'tests/test_format.py')
-rw-r--r--tests/test_format.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/test_format.py b/tests/test_format.py
index 7cfb7fe..de65eae 100644
--- a/tests/test_format.py
+++ b/tests/test_format.py
@@ -42,6 +42,8 @@ class TestFormat(TestCaseBase):
sql = 'select-- foo\nfrom -- bar\nwhere'
res = sqlparse.format(sql, strip_comments=True)
self.ndiffAssertEqual(res, 'select from where')
+ self.assertRaises(sqlparse.SQLParseError, sqlparse.format, sql,
+ strip_comments=None)
def test_strip_comments_multi(self):
sql = '/* sql starts here */\nselect'
@@ -63,10 +65,27 @@ class TestFormat(TestCaseBase):
self.ndiffAssertEqual(f(s), 'select * from foo where (1 = 2)')
s = 'select -- foo\nfrom bar\n'
self.ndiffAssertEqual(f(s), 'select -- foo\nfrom bar')
+ self.assertRaises(sqlparse.SQLParseError, sqlparse.format, s,
+ strip_whitespace=None)
+
+ def test_outputformat(self):
+ sql = 'select * from foo;'
+ self.assertRaises(sqlparse.SQLParseError, sqlparse.format, sql,
+ output_format='foo')
class TestFormatReindent(TestCaseBase):
+ def test_option(self):
+ self.assertRaises(sqlparse.SQLParseError, sqlparse.format, 'foo',
+ reindent=2)
+ self.assertRaises(sqlparse.SQLParseError, sqlparse.format, 'foo',
+ indent_tabs=2)
+ self.assertRaises(sqlparse.SQLParseError, sqlparse.format, 'foo',
+ reindent=True, indent_width='foo')
+ self.assertRaises(sqlparse.SQLParseError, sqlparse.format, 'foo',
+ reindent=True, indent_width=-12)
+
def test_stmts(self):
f = lambda sql: sqlparse.format(sql, reindent=True)
s = 'select foo; select bar'
@@ -176,3 +195,29 @@ class TestFormatReindent(TestCaseBase):
'order by c1']))
+
+
+class TestOutputFormat(TestCaseBase):
+
+ def test_python(self):
+ sql = 'select * from foo;'
+ f = lambda sql: sqlparse.format(sql, output_format='python')
+ self.ndiffAssertEqual(f(sql), "sql = 'select * from foo;'")
+ f = lambda sql: sqlparse.format(sql, output_format='python',
+ reindent=True)
+ self.ndiffAssertEqual(f(sql), ("sql = ('select * '\n"
+ " 'from foo;')"))
+
+ def test_php(self):
+ sql = 'select * from foo;'
+ f = lambda sql: sqlparse.format(sql, output_format='php')
+ self.ndiffAssertEqual(f(sql), '$sql = "select * from foo;";')
+ f = lambda sql: sqlparse.format(sql, output_format='php',
+ reindent=True)
+ self.ndiffAssertEqual(f(sql), ('$sql = "select * ";\n'
+ '$sql .= "from foo;";'))
+
+ def test_sql(self): # "sql" is an allowed option but has no effect
+ sql = 'select * from foo;'
+ f = lambda sql: sqlparse.format(sql, output_format='sql')
+ self.ndiffAssertEqual(f(sql), 'select * from foo;')