1 package test.net.sourceforge.pmd.rules; 2 3 import net.sourceforge.pmd.PMD; 4 import net.sourceforge.pmd.Rule; 5 import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst; 6 import test.net.sourceforge.pmd.testframework.TestDescriptor; 7 8 public class SuspiciousOctalEscapeTest extends SimpleAggregatorTst { 9 private Rule rule; 10 11 public void setUp() { 12 rule = findRule("controversial", "SuspiciousOctalEscape"); 13 } 14 15 public void testAll() { 16 runTests(new TestDescriptor[]{ 17 new TestDescriptor(TEST1, "ok use of octal", 0, rule), 18 new TestDescriptor(TEST2, "should be flagged", 1, rule), 19 new TestDescriptor(TEST3, "should be flagged - different octal", 1, rule), 20 new TestDescriptor(TEST4, "should be flagged - different octal", 1, rule), 21 }); 22 } 23 24 private static final String TEST1 = 25 "public class Foo {" + PMD.EOL + 26 " void bar() {" + PMD.EOL + 27 " int x = \128;" + PMD.EOL + 28 " }" + PMD.EOL + 29 "}"; 30 31 private static final String TEST2 = 32 "public class Foo {" + PMD.EOL + 33 " void bar() {" + PMD.EOL + 34 " System.out.println(\"foo = \\128\");" + PMD.EOL + 35 " }" + PMD.EOL + 36 "}"; 37 38 private static final String TEST3 = 39 "public class Foo {" + PMD.EOL + 40 " void bar() {" + PMD.EOL + 41 " System.out.println(\"foo = \\0008\");" + PMD.EOL + 42 " }" + PMD.EOL + 43 "}"; 44 45 private static final String TEST4 = 46 "public class Foo {" + PMD.EOL + 47 " void bar() {" + PMD.EOL + 48 " System.out.println(\"foo = \\4008\");" + PMD.EOL + 49 " }" + PMD.EOL + 50 "}"; 51 52 } 53 | Popular Tags |