From 610c75e1cb03848bfc4bed99790b44b7444f9a3b Mon Sep 17 00:00:00 2001 From: Iwao AVE! Date: Fri, 3 Jan 2025 03:48:51 +0900 Subject: [PATCH 1/2] Added failing tests involving repeat directive #14 and #15 --- .../velocity/use/VelocityLanguageTest.java | 28 ++++++++++++++++++- .../mybatis/scripting/velocity/use/mapper.xml | 25 ++++++++++++++++- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/mybatis/scripting/velocity/use/VelocityLanguageTest.java b/src/test/java/org/mybatis/scripting/velocity/use/VelocityLanguageTest.java index 1371d59..2f7a6e5 100644 --- a/src/test/java/org/mybatis/scripting/velocity/use/VelocityLanguageTest.java +++ b/src/test/java/org/mybatis/scripting/velocity/use/VelocityLanguageTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ import java.sql.Connection; import java.sql.DriverManager; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -273,6 +274,31 @@ void testDynamicSelectWithIterationBoundary() { } } + @Test + void testSetInsideRepeat() { + try (SqlSession sqlSession = sqlSessionFactory.openSession()) { + Name[] names = { new Name(2), new Name(5) }; + Map param = new HashMap<>(); + param.put("names", names); + param.put("nid", 4); + List answer = sqlSession.selectList("org.mybatis.scripting.velocity.use.selectWithSetInsideRepeat", param); + assertEquals(2, answer.size()); + assertEquals(2, answer.get(0).getId()); + assertEquals(5, answer.get(1).getId()); + } + } + + @Test + void testNestedRepeat() { + try (SqlSession sqlSession = sqlSessionFactory.openSession()) { + List> ids = Arrays.asList(Arrays.asList(1, 10), Arrays.asList(100, 1000)); + Map param = new HashMap<>(); + param.put("ids", ids); + Integer answer = sqlSession.selectOne("org.mybatis.scripting.velocity.use.selectNestedRepeat", param); + assertEquals(202, answer); + } + } + @Test void testSelectKey() { try (SqlSession sqlSession = sqlSessionFactory.openSession()) { diff --git a/src/test/resources/org/mybatis/scripting/velocity/use/mapper.xml b/src/test/resources/org/mybatis/scripting/velocity/use/mapper.xml index c84b361..15f56df 100644 --- a/src/test/resources/org/mybatis/scripting/velocity/use/mapper.xml +++ b/src/test/resources/org/mybatis/scripting/velocity/use/mapper.xml @@ -1,7 +1,7 @@