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;
+    }
+}

Reply via email to