You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by sd...@apache.org on 2015/12/04 22:31:12 UTC

svn commit: r1718036 - /velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/util/introspection/UberspectImplTestCase.java

Author: sdumitriu
Date: Fri Dec  4 21:31:12 2015
New Revision: 1718036

URL: http://svn.apache.org/viewvc?rev=1718036&view=rev
Log:
VELOCITY-871: #foreach should work over any Iterable class
Added test case

Modified:
    velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/util/introspection/UberspectImplTestCase.java

Modified: velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/util/introspection/UberspectImplTestCase.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/util/introspection/UberspectImplTestCase.java?rev=1718036&r1=1718035&r2=1718036&view=diff
==============================================================================
--- velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/util/introspection/UberspectImplTestCase.java (original)
+++ velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/util/introspection/UberspectImplTestCase.java Fri Dec  4 21:31:12 2015
@@ -85,6 +85,16 @@ public class UberspectImplTestCase exten
         Velocity.evaluate(context, writer, "test", "#foreach($i in $publicMethod)$i#end");
         assertEquals(writer.toString(), "123");
     }
+    
+    public void testIterableForeach()
+    {
+        VelocityContext context = new VelocityContext();
+        context.put("iterable", new SomeIterable());
+        StringWriter writer = new StringWriter();
+
+        Velocity.evaluate(context, writer, "test", "#foreach($i in $iterable)$i#end");
+        assertEquals(writer.toString(), "123");
+    }
 
     private class PrivateClass
     {
@@ -106,6 +116,14 @@ public class UberspectImplTestCase exten
     {
         public Iterator iterator()
         {
+            return Arrays.asList("1", "2", "3").iterator();
+        }
+    }
+
+    public class SomeIterable implements Iterable
+    {
+        public Iterator iterator()
+        {
             return Arrays.asList("1", "2", "3").iterator();
         }
     }