Author: cbegin
Date: Sat Apr 11 05:01:31 2009
New Revision: 764164

URL: http://svn.apache.org/viewvc?rev=764164&view=rev
Log:
added unit test for ForEach

Modified:
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java?rev=764164&r1=764163&r2=764164&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java
 Sat Apr 11 05:01:31 2009
@@ -6,6 +6,7 @@
   private MixedSqlNode contents;
 
   public ForEachSqlNode(String collectionExpression, MixedSqlNode contents) {
+    this.evaluator = new ExpressionEvaluator();
     this.collectionExpression = collectionExpression;
     this.contents = contents;
   }

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java?rev=764164&r1=764163&r2=764164&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java
 Sat Apr 11 05:01:31 2009
@@ -100,6 +100,19 @@
     assertEquals(expected, boundSql.getSql());
   }
 
+  @Test
+  public void shouldIterateOnceForEachItemInCollection() throws Exception {
+    final HashMap<String,String[]> parameterObject = new HashMap() {{
+        put("array", new String[]{"1", "2", "3"});
+      }};
+    final String expected = "SELECT * FROM BLOG WHERE ID in ? ? ?";
+    DynamicSqlSource source = createDynamicSqlSource(
+        new TextSqlNode("SELECT * FROM BLOG WHERE ID in"),
+        new ForEachSqlNode("array",mixedContents(new TextSqlNode("?"))));
+    BoundSql boundSql = source.getBoundSql(parameterObject);
+    assertEquals(expected, boundSql.getSql());
+  }
+
 
   private DynamicSqlSource createDynamicSqlSource(SqlNode... contents) throws 
IOException, SQLException {
     createBlogDataSource();


Reply via email to