Author: henrib Date: Sun Jan 21 10:44:04 2018 New Revision: 1821782 URL: http://svn.apache.org/viewvc?rev=1821782&view=rev Log: JEXL: Coverage, added a test on method overloads / object parameters / null arguments
Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/MethodTest.java Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/MethodTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/MethodTest.java?rev=1821782&r1=1821781&r2=1821782&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/MethodTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/MethodTest.java Sun Jan 21 10:44:04 2018 @@ -21,6 +21,7 @@ import java.util.Map; import org.apache.commons.jexl3.introspection.JexlMethod; import org.apache.commons.jexl3.junit.Asserter; import java.util.Arrays; +import java.util.Date; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -191,6 +192,25 @@ public class MethodTest extends JexlTest public static Class<?> NPEIfNull(Object x) { return x.getClass(); } + + public Object over(String f, int i) { + return f + " + " + i; + } + + public Object over(String f, Date g) { + return f + " + " + g; + } + + public Object over(String f, String g) { + return f + " + " + g; + } + } + + public static class FunctorOver extends Functor { + + public Object over(Object f, Object g) { + return f + " + " + g; + } } @Test @@ -210,6 +230,31 @@ public class MethodTest extends JexlTest } catch (Exception xj0) { // ignore } + + Object result; + try { + result = JEXL.invokeMethod(func, "over", "foo", 42); + Assert.assertEquals("foo + 42", result); + } catch (Exception xj0) { + // ignore + result = xj0; + } + + try { + result = JEXL.invokeMethod(func, "over", null, null); + Assert.fail("method should have thrown!"); + } catch (Exception xj0) { + // ignore + result = xj0; + } + + func = new FunctorOver(); + try { + result = JEXL.invokeMethod(func, "over", null, null); + Assert.assertEquals("null + null", result); + } catch (Exception xj0) { + Assert.fail("method should not have thrown!"); + } } /**