Fix last test

This commit is contained in:
Clément Fournier
2022-02-06 13:58:27 +01:00
parent c24614d925
commit 1dd516665b
3 changed files with 17 additions and 1 deletions

View File

@ -35,6 +35,9 @@ It is now forbidden to report a violation:
- With a `null` message
- With a `null` set of format arguments (prefer a zero-length array)
Note that the message is set from the XML rule declaration, so this is only relevant
if you instantiate rules manually.
{% jdoc core::RuleContext %} now requires setting the current rule before calling
{% jdoc core::lang.rule.Rule#apply(java.util.List, core::RuleContext)}. This is
done automatically by `RuleSet#apply` and such. Creating and configuring a

View File

@ -21,6 +21,12 @@ import net.sourceforge.pmd.testframework.RuleTst;
public class SuppressWarningsTest extends RuleTst {
private static class BarRule extends AbstractApexRule {
@Override
public String getMessage() {
return "a message";
}
@Override
public Object visit(ASTUserClass clazz, Object ctx) {
if (clazz.getImage().equalsIgnoreCase("bar")) {

View File

@ -45,14 +45,21 @@ public class AbstractApexRuleTest extends ApexParserTestBase {
private void run(String code) {
ApexNode<Compilation> node = parse(code);
TopLevelRule rule = new TopLevelRule();
RuleContext ctx = new RuleContext();
ctx.setLanguageVersion(apex.getDefaultVersion());
TopLevelRule rule = new TopLevelRule();
ctx.setCurrentRule(rule);
rule.apply(Collections.singletonList(node), ctx);
assertEquals(1, ctx.getReport().size());
}
private static class TopLevelRule extends AbstractApexRule {
@Override
public String getMessage() {
return "a message";
}
@Override
public Object visit(ASTUserClass node, Object data) {
addViolation(data, node);