Author: jafl
Date: Tue May 31 19:24:27 2011
New Revision: 1129864

URL: http://svn.apache.org/viewvc?rev=1129864&view=rev
Log:
WW-3638 additional unit test for multi-level array in includeProperties

Added:
    
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-11.txt
      - copied, changed from r1129833, 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-10.txt
Modified:
    
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONResultTest.java
    
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/TestAction.java
    
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-3.txt
    
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json.txt

Modified: 
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONResultTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONResultTest.java?rev=1129864&r1=1129863&r2=1129864&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONResultTest.java
 (original)
+++ 
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONResultTest.java
 Tue May 31 19:24:27 2011
@@ -28,8 +28,10 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.regex.Pattern;
 
 import javax.servlet.http.HttpServletResponse;
@@ -530,6 +532,47 @@ public class JSONResultTest extends Stru
         assertEquals("application/json;charset=ISO-8859-1", 
response.getContentType());
     }
 
+    public void testIncludePropertiesWithSetList() throws Exception {
+        JSONResult result = new JSONResult();
+        
result.setIncludeProperties("^set\\[\\d+\\]\\.list\\[\\d+\\]\\.booleanField");
+        TestAction action = new TestAction();
+        stack.push(action);
+
+        Set set = new LinkedHashSet();
+
+        TestAction a1 = new TestAction();
+
+        List list = new ArrayList();
+
+        list.add(new Bean());
+        list.add(new Bean());
+        list.add(new Bean());
+
+        a1.setList(list);
+        set.add(a1);
+
+        TestAction a2 = new TestAction();
+
+        list = new ArrayList();
+
+        list.add(new Bean());
+        list.add(new Bean());
+
+        a2.setList(list);
+        set.add(a2);
+
+        action.setSet(set);
+
+        this.invocation.setAction(action);
+        result.execute(this.invocation);
+
+        String json = response.getContentAsString();
+        String normalizedActual = TestUtils.normalize(json, true);
+        String normalizedExpected = 
TestUtils.normalize(JSONResultTest.class.getResource("json-11.txt"));
+        assertEquals(normalizedExpected, normalizedActual);
+        assertEquals("application/json;charset=ISO-8859-1", 
response.getContentType());
+    }
+
     @Override
     protected void setUp() throws Exception {
         super.setUp();

Modified: 
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/TestAction.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/TestAction.java?rev=1129864&r1=1129863&r2=1129864&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/TestAction.java
 (original)
+++ 
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/TestAction.java
 Tue May 31 19:24:27 2011
@@ -23,6 +23,7 @@ package org.apache.struts2.json;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.struts2.json.annotations.JSON;
 
@@ -37,6 +38,7 @@ public class TestAction extends ActionSu
     private List collection;
     private List collection2;
     private Map map;
+    private Set set;
     private String foo;
     private String result;
     private String[] array;
@@ -82,6 +84,14 @@ public class TestAction extends ActionSu
         this.map = map;
     }
 
+    public Set getSet() {
+        return this.set;
+    }
+
+    public void setSet(Set set) {
+        this.set = set;
+    }
+
     public String getFoo() {
         return this.foo;
     }

Copied: 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-11.txt
 (from r1129833, 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-10.txt)
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-11.txt?p2=struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-11.txt&p1=struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-10.txt&r1=1129833&r2=1129864&rev=1129864&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-10.txt
 (original)
+++ 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-11.txt
 Tue May 31 19:24:27 2011
@@ -1,3 +1,6 @@
 {
-    
"list":[{"booleanField":false},{"booleanField":false},{"booleanField":false}]
+    "set":[
+        
{"list":[{"booleanField":false},{"booleanField":false},{"booleanField":false}]},
+        {"list":[{"booleanField":false},{"booleanField":false}]}
+    ]
 }

Modified: 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-3.txt
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-3.txt?rev=1129864&r1=1129863&r2=1129864&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-3.txt
 (original)
+++ 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json-3.txt
 Tue May 31 19:24:27 2011
@@ -39,5 +39,6 @@
         "a": 1,
         "c": [1.0, 2.0]
     },
-    "result":null
+    "result":null,
+    "set":null
 } */
\ No newline at end of file

Modified: 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json.txt
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json.txt?rev=1129864&r1=1129863&r2=1129864&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json.txt
 (original)
+++ 
struts/struts2/trunk/plugins/json/src/test/resources/org/apache/struts2/json/json.txt
 Tue May 31 19:24:27 2011
@@ -3,20 +3,20 @@
        "bean": null,
        "collection": ["b", 1, [10, 12]],
        "collection2": [{
-                           "bigDecimal": 111111.111111,
-                        "bigInteger": 111111111111,
+                                               "bigDecimal": 111111.111111,
+                                               "bigInteger": 111111111111,
                                                "booleanField": true,
                                                "byteField": 0,
                                                "charField": "s",
                                                "doubleField": 10.1,
                                                "enumBean": "One",
                                                "enumField": "ValueA",
-                                               "floatField": 1.5,              
                                
+                                               "floatField": 1.5,
                                                "intField": 10,
                                                "longField": 100,
                                                "objectField": {
-                                                   "bigDecimal": null,
-                            "bigInteger": null,
+                                                       "bigDecimal": null,
+                                                       "bigInteger": null,
                                                        "booleanField": false,
                                                        "byteField": 0,
                                                        "charField": "\u0000",
@@ -28,8 +28,8 @@
                                                        "longField":0,
                                                        "objectField":null,
                                                        "stringField":"  "
-                                           },
-                                           "stringField": "str"
+                                               },
+                                               "stringField": "str"
        }],
        "date": "1999-12-31T11:59:59",
        "date2": "31\/12\/99",
@@ -39,5 +39,6 @@
                "a": 1,
                "c": [1.0, 2.0]
        },
-       "result":null
+       "result":null,
+       "set":null
 }
\ No newline at end of file


Reply via email to