Repository: struts Updated Branches: refs/heads/develop dfb2bd3db -> d749bb8f7
WW-4301 Adds additional use-case to proof the problem exists Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/120830f1 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/120830f1 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/120830f1 Branch: refs/heads/develop Commit: 120830f1ac46b48eb6797e07c1365833c435d8cf Parents: dfb2bd3 Author: Lukasz Lenart <[email protected]> Authored: Thu Aug 7 08:43:42 2014 +0200 Committer: Lukasz Lenart <[email protected]> Committed: Thu Aug 7 08:43:42 2014 +0200 ---------------------------------------------------------------------- .../org/apache/struts2/json/JSONUtilTest.java | 14 ++++++++++++ .../java/org/apache/struts2/json/ListBean.java | 24 ++++++++++++++++++++ 2 files changed, 38 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/120830f1/plugins/json/src/test/java/org/apache/struts2/json/JSONUtilTest.java ---------------------------------------------------------------------- diff --git a/plugins/json/src/test/java/org/apache/struts2/json/JSONUtilTest.java b/plugins/json/src/test/java/org/apache/struts2/json/JSONUtilTest.java index 3f1e3c3..2df5e47 100644 --- a/plugins/json/src/test/java/org/apache/struts2/json/JSONUtilTest.java +++ b/plugins/json/src/test/java/org/apache/struts2/json/JSONUtilTest.java @@ -20,7 +20,10 @@ */ package org.apache.struts2.json; +import java.util.ArrayList; +import java.util.List; import java.util.Map; +import java.util.regex.Pattern; import junit.framework.TestCase; @@ -63,4 +66,15 @@ public class JSONUtilTest extends TestCase { // is a // String } + + public void testSerializeListOfList() throws Exception { + ListBean bean = new ListBean(); + // This additional 'listOfLists' pattern should be omitted, but not with current version of JSONUtil + List<Pattern> includeProperties = JSONUtil.processIncludePatterns(JSONUtil.asSet("listOfLists,listOfLists\\[\\d+\\]\\[\\d+\\]"), JSONUtil.REGEXP_PATTERN); + + String actual = JSONUtil.serialize(bean, null, new ArrayList<Pattern>(includeProperties), false, false); + + assertEquals("{\"listOfLists\":[[\"1\",\"2\"],[\"3\",\"4\"],[\"5\",\"6\"],[\"7\",\"8\"],[\"9\",\"0\"]]}", actual); + } + } http://git-wip-us.apache.org/repos/asf/struts/blob/120830f1/plugins/json/src/test/java/org/apache/struts2/json/ListBean.java ---------------------------------------------------------------------- diff --git a/plugins/json/src/test/java/org/apache/struts2/json/ListBean.java b/plugins/json/src/test/java/org/apache/struts2/json/ListBean.java new file mode 100644 index 0000000..561c182 --- /dev/null +++ b/plugins/json/src/test/java/org/apache/struts2/json/ListBean.java @@ -0,0 +1,24 @@ +package org.apache.struts2.json; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ListBean { + + private List<List<String>> listOfLists; + + public ListBean() { + listOfLists = new ArrayList<List<String>>(); + + listOfLists.add(Arrays.asList("1", "2")); + listOfLists.add(Arrays.asList("3", "4")); + listOfLists.add(Arrays.asList("5", "6")); + listOfLists.add(Arrays.asList("7", "8")); + listOfLists.add(Arrays.asList("9", "0")); + } + + public List<List<String>> getListOfLists() { + return listOfLists; + } +}
