KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > net > sourceforge > pmd > jsp > ast > XPathJspRuleTest


1 package test.net.sourceforge.pmd.jsp.ast;
2
3 import net.sourceforge.pmd.Language;
4 import net.sourceforge.pmd.PMD;
5 import net.sourceforge.pmd.Report;
6 import net.sourceforge.pmd.Rule;
7 import net.sourceforge.pmd.RuleContext;
8 import net.sourceforge.pmd.RuleSet;
9 import net.sourceforge.pmd.RuleSets;
10 import net.sourceforge.pmd.RuleViolation;
11 import net.sourceforge.pmd.SourceType;
12 import net.sourceforge.pmd.rules.XPathRule;
13 import test.net.sourceforge.pmd.testframework.RuleTst;
14
15 import java.io.StringReader JavaDoc;
16
17 public class XPathJspRuleTest extends RuleTst {
18
19     /**
20      * Test matching a XPath expression against a JSP source.
21      *
22      * @throws Throwable
23      */

24     public void testExpressionMatching() throws Throwable JavaDoc {
25         Rule rule = new XPathRule();
26         rule.addProperty("xpath", XPATH_EXPRESSION);
27         rule.setMessage("Test");
28         RuleSet rules = new RuleSet();
29         rules.addRule(rule);
30         rules.setLanguage(Language.JSP);
31
32         RuleContext ctx = new RuleContext();
33         Report report = new Report();
34         ctx.setReport(report);
35         ctx.setSourceCodeFilename("n/a");
36
37         PMD p = new PMD();
38
39         p.processFile(new StringReader JavaDoc(MATCH), new RuleSets(rules), ctx, SourceType.JSP);
40
41         assertEquals("One violation expected!", 1, report.size());
42
43         RuleViolation rv = (RuleViolation) report.iterator().next();
44         assertEquals(1, rv.getBeginLine());
45     }
46
47     private static final String JavaDoc MATCH
48             = "<html><hr/></html>";
49
50     private static final String JavaDoc XPATH_EXPRESSION
51             = "//Element [@Name='hr']";
52
53 }
54
Popular Tags