Author: nbubna
Date: Wed Dec 3 14:40:13 2008
New Revision: 723110
URL: http://svn.apache.org/viewvc?rev=723110&view=rev
Log:
VELOCITY-651 fix type mismatch due to incomplete isApplicable test in MethodMap
Modified:
velocity/engine/trunk/src/java/org/apache/velocity/util/introspection/MethodMap.java
velocity/engine/trunk/src/test/org/apache/velocity/test/VarargMethodsTestCase.java
Modified:
velocity/engine/trunk/src/java/org/apache/velocity/util/introspection/MethodMap.java
URL:
http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/util/introspection/MethodMap.java?rev=723110&r1=723109&r2=723110&view=diff
==============================================================================
---
velocity/engine/trunk/src/java/org/apache/velocity/util/introspection/MethodMap.java
(original)
+++
velocity/engine/trunk/src/java/org/apache/velocity/util/introspection/MethodMap.java
Wed Dec 3 14:40:13 2008
@@ -328,6 +328,14 @@
if (methodArgs.length == classes.length + 1 &&
methodArgs[methodArgs.length - 1].isArray())
{
+ // all the args preceding the vararg must match
+ for (int i = 0; i < classes.length; i++)
+ {
+ if (!isConvertible(methodArgs[i], classes[i], false))
+ {
+ return false;
+ }
+ }
return true;
}
else
Modified:
velocity/engine/trunk/src/test/org/apache/velocity/test/VarargMethodsTestCase.java
URL:
http://svn.apache.org/viewvc/velocity/engine/trunk/src/test/org/apache/velocity/test/VarargMethodsTestCase.java?rev=723110&r1=723109&r2=723110&view=diff
==============================================================================
---
velocity/engine/trunk/src/test/org/apache/velocity/test/VarargMethodsTestCase.java
(original)
+++
velocity/engine/trunk/src/test/org/apache/velocity/test/VarargMethodsTestCase.java
Wed Dec 3 14:40:13 2008
@@ -128,7 +128,6 @@
public void testVelocity651()
{
- DEBUG = true;
assertEvalEquals("String,List", "$nasty.test651('test',['TEST'])");
}