@@ -42,6 +42,8 @@ def test_strip_comments_single(self):
4242 sql = 'select-- foo\n from -- bar\n where'
4343 res = sqlparse .format (sql , strip_comments = True )
4444 self .ndiffAssertEqual (res , 'select from where' )
45+ self .assertRaises (sqlparse .SQLParseError , sqlparse .format , sql ,
46+ strip_comments = None )
4547
4648 def test_strip_comments_multi (self ):
4749 sql = '/* sql starts here */\n select'
@@ -63,10 +65,27 @@ def test_strip_ws(self):
6365 self .ndiffAssertEqual (f (s ), 'select * from foo where (1 = 2)' )
6466 s = 'select -- foo\n from bar\n '
6567 self .ndiffAssertEqual (f (s ), 'select -- foo\n from bar' )
68+ self .assertRaises (sqlparse .SQLParseError , sqlparse .format , s ,
69+ strip_whitespace = None )
70+
71+ def test_outputformat (self ):
72+ sql = 'select * from foo;'
73+ self .assertRaises (sqlparse .SQLParseError , sqlparse .format , sql ,
74+ output_format = 'foo' )
6675
6776
6877class TestFormatReindent (TestCaseBase ):
6978
79+ def test_option (self ):
80+ self .assertRaises (sqlparse .SQLParseError , sqlparse .format , 'foo' ,
81+ reindent = 2 )
82+ self .assertRaises (sqlparse .SQLParseError , sqlparse .format , 'foo' ,
83+ indent_tabs = 2 )
84+ self .assertRaises (sqlparse .SQLParseError , sqlparse .format , 'foo' ,
85+ reindent = True , indent_width = 'foo' )
86+ self .assertRaises (sqlparse .SQLParseError , sqlparse .format , 'foo' ,
87+ reindent = True , indent_width = - 12 )
88+
7089 def test_stmts (self ):
7190 f = lambda sql : sqlparse .format (sql , reindent = True )
7291 s = 'select foo; select bar'
@@ -176,3 +195,29 @@ def test_duplicate_linebreaks(self): # issue3
176195 'order by c1' ]))
177196
178197
198+
199+
200+ class TestOutputFormat (TestCaseBase ):
201+
202+ def test_python (self ):
203+ sql = 'select * from foo;'
204+ f = lambda sql : sqlparse .format (sql , output_format = 'python' )
205+ self .ndiffAssertEqual (f (sql ), "sql = 'select * from foo;'" )
206+ f = lambda sql : sqlparse .format (sql , output_format = 'python' ,
207+ reindent = True )
208+ self .ndiffAssertEqual (f (sql ), ("sql = ('select * '\n "
209+ " 'from foo;')" ))
210+
211+ def test_php (self ):
212+ sql = 'select * from foo;'
213+ f = lambda sql : sqlparse .format (sql , output_format = 'php' )
214+ self .ndiffAssertEqual (f (sql ), '$sql = "select * from foo;";' )
215+ f = lambda sql : sqlparse .format (sql , output_format = 'php' ,
216+ reindent = True )
217+ self .ndiffAssertEqual (f (sql ), ('$sql = "select * ";\n '
218+ '$sql .= "from foo;";' ))
219+
220+ def test_sql (self ): # "sql" is an allowed option but has no effect
221+ sql = 'select * from foo;'
222+ f = lambda sql : sqlparse .format (sql , output_format = 'sql' )
223+ self .ndiffAssertEqual (f (sql ), 'select * from foo;' )
0 commit comments