1 package test.net.sourceforge.pmd.rules;
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 NonCaseLabelInSwitchStatementRuleTest extends SimpleAggregatorTst {
10 private Rule rule;
11
12 public void setUp() throws RuleSetNotFoundException {
13 rule = findRule("rulesets/design.xml", "NonCaseLabelInSwitchStatement");
14 }
15
16 public void testAll() {
17 runTests(new TestDescriptor[] {
18 new TestDescriptor(TEST1, "label inside switch", 1, rule),
19 new TestDescriptor(TEST2, "ok", 0, rule),
20 });
21 }
22
23 private static final String TEST1 =
24 "public class Foo {" + PMD.EOL +
25 " void bar(int x) {" + PMD.EOL +
26 " switch (x) {" + PMD.EOL +
27 " case 2: int y=8;" + PMD.EOL +
28 " break;" + PMD.EOL +
29 " somelabel: " + PMD.EOL +
30 " break;" + PMD.EOL +
31 " default: " + PMD.EOL +
32 " int j=8;" + PMD.EOL +
33 " }" + PMD.EOL +
34 " }" + PMD.EOL +
35 "}";
36
37 private static final String TEST2 =
38 "public class Foo {" + PMD.EOL +
39 " void bar(int x) {" + PMD.EOL +
40 " switch (x) {" + PMD.EOL +
41 " case 2: int y=8;" + PMD.EOL +
42 " break;" + PMD.EOL +
43 " default: " + PMD.EOL +
44 " int j=8;" + PMD.EOL +
45 " }" + PMD.EOL +
46 " }" + PMD.EOL +
47 "}";
48 }