@Test
public void testCheckEndingWithSemicolon() {
Rule r = new Rule();
r.setKey("Example1");
r.setInternalKey("Example1");
r.setDescription("Select statement should end with semicolon");
r.setName("Select statement should end with semicolon");
RuleImplementation rImpl = new RuleImplementation();
rImpl.getNames().getTextItem().add(Select_statementContext.class.getSimpleName());
rImpl.setRuleMatchType(RuleMatchType.CLASS_ONLY);
r.setRuleImplementation(rImpl);
RuleImplementation child = new RuleImplementation();
child.setDistance(1);
child.setIndex(-1);
child.setDistanceCheckType(RuleDistanceIndexMatchType.EQUALS);
child.setIndexCheckType(RuleDistanceIndexMatchType.EQUALS);
child.getTextToFind().getTextItem().add(";");
child.setTextCheckType(TextCheckType.STRICT);
child.setRuleMatchType(RuleMatchType.TEXT_AND_CLASS);
child.setRuleResultType(RuleResultType.FAIL_IF_NOT_FOUND);
child.getNames().getTextItem().add(TerminalNodeImpl.class.getSimpleName());
rImpl.getChildrenRules().getRuleImplementation().add(child);
rImpl.getCompliantRulesCodeExamples().getRuleCodeExample().add("SELECT * from dbo.test where name like '%test%';");
rImpl.getViolatingRulesCodeExamples().getRuleCodeExample().add("SELECT * from dbo.test where name like '%test%'");
String s = "SELECT * from dbo.test where name like '%test%';";
//System.out.println(Antlr4Utils.ruleImplToString(r));
TsqlIssue[] issues = Antlr4Utils.verify2(r, s);
//TsqlIssue[] issues = Antlr4Utils.verifyWithPrinting(r, s);
Assert.assertEquals(0, issues.length);
// Antlr4Utils.print(Antlr4Utils.get("SELECT * from dbo.test;"), 0);
}
CustomChecksTest.java 文件源码
java
阅读 19
收藏 0
点赞 0
评论 0
项目:sonar-tsql-plugin
作者:
评论列表
文章目录