1   package test.net.sourceforge.pmd.jsp.rules;
2   
3   import net.sourceforge.pmd.Rule;
4   import net.sourceforge.pmd.RuleSetFactory;
5   import net.sourceforge.pmd.RuleSetNotFoundException;
6   import net.sourceforge.pmd.SourceType;
7   import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
8   import test.net.sourceforge.pmd.testframework.TestDescriptor;
9   
10  /***
11   * Test the "NoScriptlets" rule.
12   *
13   * @author pieter_van_raemdonck - Application Engineers NV/SA - www.ae.be
14   */
15  public class NoScriptletsTest extends SimpleAggregatorTst {
16  
17      public void testAll() throws RuleSetNotFoundException {
18          Rule rule = new RuleSetFactory()
19                  .createSingleRuleSet("rulesets/basic-jsp.xml").getRuleByName("NoScriptlets");
20          runTests(new TestDescriptor[]{
21              new TestDescriptor(VIOLATION1, "Two scriptlets.", 2, rule),
22              new TestDescriptor(NO_VIOLATION1, "No scriptlets.", 0, rule),
23          }, SourceType.JSP);
24      }
25  
26      private static final String VIOLATION1 =
27              "<HTML>" +
28              "<HEAD>" +
29              "<% response.setHeader(\"Pragma\", \"No-cache\"); %>" +
30              "</HEAD>" +
31              "<BODY>" +
32              "	<jsp:scriptlet>String title = \"Hello world!\";</jsp:scriptlet>" +
33              "</BODY>" +
34              "</HTML>";
35  
36  
37      private static final String NO_VIOLATION1 =
38              "<html><body><p>text</p></body></html>";
39  }