geirm 2002/06/13 09:11:28 Modified: jexl/src/test/org/apache/commons/jexl JexlTest.java Log: Added test for resolver Revision Changes Path 1.11 +53 -2 jakarta-commons-sandbox/jexl/src/test/org/apache/commons/jexl/JexlTest.java Index: JexlTest.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jexl/src/test/org/apache/commons/jexl/JexlTest.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- JexlTest.java 7 Jun 2002 03:37:07 -0000 1.10 +++ JexlTest.java 13 Jun 2002 16:11:28 -0000 1.11 @@ -60,6 +60,7 @@ import org.apache.commons.jexl.parser.SimpleNode; import org.apache.commons.jexl.Expression; import org.apache.commons.jexl.ExpressionFactory; +import org.apache.commons.jexl.resolver.FlatResolver; import java.io.StringReader; import java.util.ArrayList; @@ -668,6 +669,56 @@ // assertEquals("dot form failed", GET_METHOD_ARRAY2[1][1], o2); } + public void testResolver() + throws Exception + { + /* + * first, a simple override + */ + + Expression expr = + ExpressionFactory.createExpression("foo.bar"); + + expr.addPreResolver(new FlatResolver()); + + JexlContext jc = JexlHelper.createContext(); + + Foo foo = new Foo(); + + jc.getVars().put("foo.bar", "flat value"); + jc.getVars().put("foo", foo ); + + Object o = expr.evaluate(jc); + + assertEquals("flat override", o,"flat value"); + + /* + * now, let the resolver not find it and have it drop to jexl + */ + + expr = + ExpressionFactory.createExpression("foo.bar.length()"); + + expr.addPreResolver(new FlatResolver()); + + o = expr.evaluate(jc); + + assertEquals("flat override 1", o,new Integer(GET_METHOD_STRING.length())); + + /* + * now, let the resolver not find it and NOT drop to jexl + */ + + expr = + ExpressionFactory.createExpression("foo.bar.length()"); + + expr.addPreResolver(new FlatResolver(false)); + + o = expr.evaluate(jc); + + assertEquals("flat override 2", o, null); + + } public class Foo { @@ -695,7 +746,7 @@ { return "Boolean : " + b; } - + public int getCount() { return 5; }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>