1 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 34 public class JUnitTagLibrary extends TagLibrary { 35 36 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 57 if (attributeName.equals("xpath")) { 58 if ( log.isDebugEnabled() ) { 59 log.debug( "Parsing XPath expression: " + attributeValue ); 60 } 61 62 Expression xpathExpr = super.createExpression( factory, 64 tagScript, 65 attributeName, 66 attributeValue ); 67 68 return new XPathExpression(attributeValue, xpathExpr, tagScript); 69 } 70 71 return super.createExpression(factory, tagScript, attributeName, attributeValue); 73 } 74 } 75 | Popular Tags |