KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > net > sourceforge > pmd > ExcludeLinesTest


1
2  package test.net.sourceforge.pmd;
3  
4  import java.io.StringReader JavaDoc;
5  
6  import net.sourceforge.pmd.PMD;
7  import net.sourceforge.pmd.Report;
8  import net.sourceforge.pmd.Rule;
9  import net.sourceforge.pmd.RuleContext;
10  import net.sourceforge.pmd.RuleSet;
11  import net.sourceforge.pmd.RuleSets;
12  import net.sourceforge.pmd.SourceTypeToRuleLanguageMapper;
13  import test.net.sourceforge.pmd.testframework.RuleTst;
14  import test.net.sourceforge.pmd.testframework.TestDescriptor;
15  
16  public class ExcludeLinesTest extends RuleTst {
17      private Rule rule;
18  
19      public void setUp() {
20          rule = findRule("unusedcode", "UnusedLocalVariable");
21      }
22  
23      public void testAcceptance() {
24          runTest(new TestDescriptor(TEST1, "NOPMD should work", 0, rule));
25          runTest(new TestDescriptor(TEST2, "Should fail without exclude marker", 1, rule));
26      }
27  
28      public void testAlternateMarker() throws Throwable JavaDoc {
29          PMD p = new PMD();
30          p.setExcludeMarker("FOOBAR");
31          RuleContext ctx = new RuleContext();
32          Report r = new Report();
33          ctx.setReport(r);
34          ctx.setSourceCodeFilename("n/a");
35          RuleSet rules = new RuleSet();
36          rules.addRule(rule);
37          rules.setLanguage(SourceTypeToRuleLanguageMapper.getMappedLanguage(DEFAULT_SOURCE_TYPE));
38          p.processFile(new StringReader JavaDoc(TEST3), new RuleSets(rules), ctx, DEFAULT_SOURCE_TYPE);
39          assertTrue(r.isEmpty());
40          assertEquals(r.getSuppressedRuleViolations().size(), 1);
41      }
42  
43      private static final String JavaDoc TEST1 =
44              "public class Foo {" + PMD.EOL +
45              " void foo() {" + PMD.EOL +
46              " int x; //NOPMD " + PMD.EOL +
47              " } " + PMD.EOL +
48              "}";
49  
50      private static final String JavaDoc TEST2 =
51              "public class Foo {" + PMD.EOL +
52              " void foo() {" + PMD.EOL +
53              " int x;" + PMD.EOL +
54              " } " + PMD.EOL +
55              "}";
56  
57      private static final String JavaDoc TEST3 =
58              "public class Foo {" + PMD.EOL +
59              " void foo() {" + PMD.EOL +
60              " int x; // FOOBAR" + PMD.EOL +
61              " } " + PMD.EOL +
62              "}";
63  
64  }
65
Popular Tags