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  }