1 package test.net.sourceforge.pmd.jsp.rules;
2
3 import net.sourceforge.pmd.Rule;
4 import net.sourceforge.pmd.SourceType;
5 import net.sourceforge.pmd.jsp.rules.DuplicateJspImports;
6
7 import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
8 import test.net.sourceforge.pmd.testframework.TestDescriptor;
9
10 public class DuplicateJspImportTest extends SimpleAggregatorTst {
11
12 public void testAll() {
13
14 Rule rule = new DuplicateJspImports();
15 rule.setMessage("");
16 runTests(new TestDescriptor[]{
17 new TestDescriptor(TEST1_OK, "Just 1 import", 0, rule),
18 new TestDescriptor(TEST2_FAIL, "Duplicate imports", 1, rule),
19 new TestDescriptor(TEST3_FAIL, "Duplicate imports", 1, rule),
20 new TestDescriptor(TEST4_FAIL, "Duplicate imports", 1, rule),
21 new TestDescriptor(TEST5_FAIL, "Duplicate imports", 2, rule),
22 new TestDescriptor(TEST6_OK, "Just 1 import", 0, rule),
23 }, SourceType.JSP);
24 }
25
26 private static final String TEST1_OK =
27 "<%@ page import=\"com.foo.MyClass\"%><html><body><b><img src=\"<%=Some.get()%>/foo\">xx</img>text</b></body></html>";
28 private static final String TEST2_FAIL =
29 "<%@ page import=\"com.foo.MyClass,com.foo.MyClass\"%><html><body><b><img src=\"<%=Some.get()%>/foo\">xx</img>text</b></body></html>";
30 private static final String TEST3_FAIL =
31 "<%@ page import=\"com.foo.MyClass\"%><%@ page import=\"com.foo.MyClass\"%><html><body><b><img src=\"<%=Some.get()%>/foo\">xx</img>text</b></body></html>";
32 private static final String TEST4_FAIL =
33 "<%@ page import=\"com.foo.MyClass,com.foo.AClass\"%><%@ page import=\"com.foo.MyClass\"%><html><body><b><img src=\"<%=Some.get()%>/foo\">xx</img>text</b></body></html>";
34 private static final String TEST5_FAIL =
35 "<%@ page import=\"com.foo.MyClass,com.foo.MyClass\"%><%@ page import=\"com.foo.MyClass\"%><html><body><b><img src=\"<%=Some.get()%>/foo\">xx</img>text</b></body></html>";
36 private static final String TEST6_OK =
37 "<%@ page import=\"com.foo.AClass\"%><%@ page import=\"com.foo.MyClass\"%><html><body><b><img src=\"<%=Some.get()%>/foo\">xx</img>text</b></body></html>";
38 }