1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.commons.jelly.tags.junit;
17
18 import org.apache.commons.jelly.TagLibrary;
19
20 import org.apache.commons.jelly.JellyException;
21 import org.apache.commons.jelly.expression.Expression;
22 import org.apache.commons.jelly.expression.ExpressionFactory;
23 import org.apache.commons.jelly.impl.TagScript;
24 import org.apache.commons.jelly.expression.xpath.XPathExpression;
25
26 import org.apache.commons.logging.Log;
27 import org.apache.commons.logging.LogFactory;
28
29 /*** Describes the Taglib. This class could be generated by XDoclet
30 *
31 * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
32 * @version $Revision: 155420 $
33 */
34 public class JUnitTagLibrary extends TagLibrary {
35
36 /*** The Log to which logging calls will be made. */
37 private Log log = LogFactory.getLog(JUnitTagLibrary.class);
38
39 public JUnitTagLibrary() {
40 registerTag("assert", AssertTag.class);
41 registerTag("assertEquals", AssertEqualsTag.class);
42 registerTag("assertThrows", AssertThrowsTag.class);
43 registerTag("fail", FailTag.class);
44 registerTag("run", RunTag.class );
45 registerTag("case", CaseTag.class );
46 registerTag("suite", SuiteTag.class );
47 }
48
49 public Expression createExpression(
50 ExpressionFactory factory,
51 TagScript tagScript,
52 String attributeName,
53 String attributeValue) throws JellyException {
54
55
56
57 if (attributeName.equals("xpath")) {
58 if ( log.isDebugEnabled() ) {
59 log.debug( "Parsing XPath expression: " + attributeValue );
60 }
61
62
63 Expression xpathExpr = super.createExpression( factory,
64 tagScript,
65 attributeName,
66 attributeValue );
67
68 return new XPathExpression(attributeValue, xpathExpr, tagScript);
69 }
70
71
72 return super.createExpression(factory, tagScript, attributeName, attributeValue);
73 }
74 }