You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by ja...@apache.org on 2011/05/31 21:24:28 UTC

svn commit: r1129864 - in /struts/struts2/trunk/plugins/json/src/test: java/org/apache/struts2/json/ resources/org/apache/struts2/json/

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