11package net .sf .jsqlparser .test .delete ;
22
33import java .io .StringReader ;
4+ import static junit .framework .Assert .assertEquals ;
45
56import junit .framework .TestCase ;
67import net .sf .jsqlparser .JSQLParserException ;
78import net .sf .jsqlparser .parser .CCJSqlParserManager ;
9+ import net .sf .jsqlparser .statement .Statement ;
810import net .sf .jsqlparser .statement .delete .Delete ;
11+ import net .sf .jsqlparser .util .deparser .StatementDeParser ;
912
1013public class DeleteTest extends TestCase {
1114
@@ -22,4 +25,22 @@ public void testDelete() throws JSQLParserException {
2225 assertEquals ("mytable" , delete .getTable ().getName ());
2326 assertEquals (statement , "" + delete );
2427 }
28+
29+ public void testDeleteWhereProblem1 () throws JSQLParserException {
30+ String stmt = "DELETE FROM tablename WHERE a = 1 AND b = 1" ;
31+ assertSqlCanBeParsedAndDeparsed (stmt );
32+ }
33+
34+ private void assertSqlCanBeParsedAndDeparsed (String statement ) throws JSQLParserException {
35+ Statement parsed = parserManager .parse (new StringReader (statement ));
36+ assertStatementCanBeDeparsedAs (parsed , statement );
37+ }
38+
39+ private void assertStatementCanBeDeparsedAs (Statement parsed , String statement ) {
40+ assertEquals (statement , parsed .toString ());
41+
42+ StatementDeParser deParser = new StatementDeParser (new StringBuilder ());
43+ parsed .accept (deParser );
44+ assertEquals (statement , deParser .getBuffer ().toString ());
45+ }
2546}
0 commit comments