mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
Merge pull request #195 from carvinhappy/master
增加OracleOutputVisitor prettyFormat 测试用例
This commit is contained in:
+47
@@ -0,0 +1,47 @@
|
||||
package com.alibaba.druid.bvt.sql.oracle.visitor;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleOutputVisitor;
|
||||
import com.alibaba.druid.sql.parser.SQLParserUtils;
|
||||
import com.alibaba.druid.sql.parser.SQLStatementParser;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTOutputVisitor;
|
||||
import com.alibaba.druid.util.JdbcUtils;
|
||||
import junit.framework.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* User: carvin
|
||||
* Date: 12-11-13
|
||||
* Time: 下午7:16
|
||||
* Test OralceOutputVisitor and start with ... connect by parser.
|
||||
*/
|
||||
public class OracleOutputVisitorTest_PrettyFormat {
|
||||
@Test
|
||||
public void testConnectByParserAndPrettyFormatOutput() {
|
||||
String sql = "select * from ge_rms_company start with comcode = '00' connect by nocycle prior comcode = uppercomcode";
|
||||
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, JdbcUtils.ORACLE);
|
||||
List<SQLStatement> stmtList = parser.parseStatementList();
|
||||
StringBuilder out = new StringBuilder();
|
||||
// PrettyFormat use default : true
|
||||
SQLASTOutputVisitor visitor = new OracleOutputVisitor(out);
|
||||
for(SQLStatement statement : stmtList) {
|
||||
statement.accept(visitor);
|
||||
}
|
||||
|
||||
String expectResult = "SELECT *\nFROM ge_rms_company\nSTART WITH comcode = '00'\nCONNECT BY NOCYCLE PRIOR comcode = uppercomcode;\n";
|
||||
Assert.assertEquals(expectResult, out.toString());
|
||||
|
||||
out.setLength(0);
|
||||
visitor = new OracleOutputVisitor(out);
|
||||
// setPrettyFormat : false
|
||||
visitor.setPrettyFormat(false);
|
||||
for(SQLStatement statement : stmtList) {
|
||||
statement.accept(visitor);
|
||||
}
|
||||
expectResult = "SELECT * FROM ge_rms_company START WITH comcode = '00' CONNECT BY NOCYCLE PRIOR comcode = uppercomcode";
|
||||
Assert.assertEquals(expectResult, out.toString());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user