⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 avoidduplicateliteralsruletest.java

📁 检查Java程序漏洞
💻 JAVA
字号:
/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html*/package test.net.sourceforge.pmd.rules;import net.sourceforge.pmd.PMD;import net.sourceforge.pmd.rules.AvoidDuplicateLiteralsRule;import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;import test.net.sourceforge.pmd.testframework.TestDescriptor;import java.util.Set;public class AvoidDuplicateLiteralsRuleTest extends SimpleAggregatorTst {    private AvoidDuplicateLiteralsRule rule;    public void setUp() {        rule = new AvoidDuplicateLiteralsRule();        rule.setMessage("avoid ''{0}'' and ''{1}''");        rule.addProperty("threshold", "2");    }    public void testAll() {       runTests(new TestDescriptor[] {           new TestDescriptor(TEST1, "duplicate literals in argument list", 1, rule),           new TestDescriptor(TEST2, "literal int argument, ok for now", 0, rule),           new TestDescriptor(TEST3, "duplicate literals in field decl", 1, rule),       });    }    public void testStringParserEmptyString() {        AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(',');        Set res = p.parse("");        assertTrue(res.isEmpty());    }    public void testStringParserSimple() {        AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(',');        Set res = p.parse("a,b,c");        assertEquals(3, res.size());        assertTrue(res.contains("a"));        assertTrue(res.contains("b"));        assertTrue(res.contains("c"));    }    public void testStringParserEscapedChar() {        AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(',');        Set res = p.parse("a,b,\\,");        assertEquals(3, res.size());        assertTrue(res.contains("a"));        assertTrue(res.contains("b"));        assertTrue(res.contains(","));    }    public void testStringParserEscapedEscapedChar() {        AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(',');        Set res = p.parse("a,b,\\\\");        assertEquals(3, res.size());        assertTrue(res.contains("a"));        assertTrue(res.contains("b"));        assertTrue(res.contains("\\"));    }    public static final String TEST1 =    "public class Foo {" + PMD.EOL +    " private void bar() {" + PMD.EOL +    "    buz(\"Howdy\");" + PMD.EOL +    "    buz(\"Howdy\");" + PMD.EOL +    "    buz(\"Howdy\");" + PMD.EOL +    "    buz(\"Howdy\");" + PMD.EOL +    " }" + PMD.EOL +    "}";    public static final String TEST2 =    "public class Foo {" + PMD.EOL +    " private void bar() {" + PMD.EOL +    "    buz(2);" + PMD.EOL +    " }" + PMD.EOL +    "}";    public static final String TEST3 =    "public class Foo {" + PMD.EOL +    " String[] FOO = {\"foo\", \"foo\", \"foo\", \"foo\", \"foo\", \"foo\", \"foo\", \"foo\", \"foo\"};" + PMD.EOL +    "}";}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -