1   package test.net.sourceforge.pmd.rules.logging.java;
2   
3   import net.sourceforge.pmd.PMD;
4   import net.sourceforge.pmd.Rule;
5   import net.sourceforge.pmd.RuleSetNotFoundException;
6   import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
7   import test.net.sourceforge.pmd.testframework.TestDescriptor;
8   
9   public class AvoidPrintStackTraceTest extends SimpleAggregatorTst {
10  
11      private Rule rule;
12  
13      public void setUp() throws RuleSetNotFoundException {
14          rule = findRule("logging-java", "AvoidPrintStackTrace");
15      }
16  
17      public void testAll() {
18          runTests(new TestDescriptor[]{
19              new TestDescriptor(TEST1, "simple failure", 1, rule),
20              new TestDescriptor(TEST2, "ok", 0, rule),
21          });
22      }
23  
24      private static final String TEST1 =
25              "public class Foo {" + PMD.EOL +
26              " void bar() {" + PMD.EOL +
27              "  try {} catch (Exception e) {" + PMD.EOL +
28              "   e.printStackTrace();" + PMD.EOL +
29              "  }" + PMD.EOL +
30              " }" + PMD.EOL +
31              "}";
32  
33      private static final String TEST2 =
34              "public class Foo {" + PMD.EOL +
35              " void bar() {" + PMD.EOL +
36              "  try {} catch (Exception e) {" + PMD.EOL +
37              "   LOG.error(e, \"Whoa!\");" + PMD.EOL +
38              "  }" + PMD.EOL +
39              " }" + PMD.EOL +
40              "}";
41  
42  }