Author: woodser
Date: Thu May 19 15:55:50 2011
New Revision: 1124977

URL: http://svn.apache.org/viewvc?rev=1124977&view=rev
Log:
Committing patch from Ryan Baxter which fixes test case for XML/JSON 
serialization.

https://issues.apache.org/jira/browse/SHINDIG-1537

Modified:
    
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
    shindig/trunk/java/server/src/test/resources/endtoend/jsonTest.xml

Modified: 
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java?rev=1124977&r1=1124976&r2=1124977&view=diff
==============================================================================
--- 
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
 (original)
+++ 
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
 Thu May 19 15:55:50 2011
@@ -111,7 +111,6 @@ public class EndToEndTest {
     executeAllPageTests("messageBundle");
   }
 
-  @Ignore("Temporarily disabled: test does not complete on some platforms eg 
OSX")
   @Test
   public void jsonParse() throws Exception {
     executeAllPageTests("jsonTest");

Modified: shindig/trunk/java/server/src/test/resources/endtoend/jsonTest.xml
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/server/src/test/resources/endtoend/jsonTest.xml?rev=1124977&r1=1124976&r2=1124977&view=diff
==============================================================================
--- shindig/trunk/java/server/src/test/resources/endtoend/jsonTest.xml 
(original)
+++ shindig/trunk/java/server/src/test/resources/endtoend/jsonTest.xml Thu May 
19 15:55:50 2011
@@ -37,11 +37,10 @@
           }
           return xmlDoc;
         };
-
-        function createJsonString(xmlString) {
+        
+        function createJson(xmlString) {
           var dom = createDom(xmlString);
-          var result = gadgets.json.xml.convertXmlToJson(dom);
-          return gadgets.json.stringify(result);
+          return gadgets.json.xml.convertXmlToJson(dom);
         };
 
         var tests = {
@@ -54,25 +53,37 @@
             finished();
           },
           jsonConvertXmlToJsonTest : function() {
-            var domString = createJsonString('<e />');
-            assertEquals("Json matches " + domString, '{"e":null}', domString);
-
-            domString = createJsonString('<e>text</e>');
-            assertEquals("Json matches " + domString, '{"e":"text"}', 
domString);
-
-            domString = createJsonString('<e><a>text</a><b>text</b></e>');
-            assertEquals("Json matches " + domString, 
'{"e":{"a":"text","b":"text"}}', domString);
-
-            domString = createJsonString('<e><a>text</a><a>text</a></e>');
-            assertEquals("Json matches " + domString, 
'{"e":{"a":["text","text"]}}', domString);
-
-            domString = createJsonString('<e>text<a>text</a></e>');
-            assertEquals("Json matches " + domString, 
'{"e":{"#text":"text","a":"text"}}', domString);
+            var obj = createJson('<e />');
+            assertEquals('Testing e is not null', obj.e, null);
             
-            domString = createJsonString('<e><a id="id1"/><a id="id2"/></e>');
-            assertEquals("Json matches " + domString, 
'{"e":{"a":[{"@id":"id1"},{"@id":"id2"}]}}', domString);
-
-            domString = createJsonString(
+            obj = createJson('<e>text</e>');
+            assertEquals('Testing e equals text', obj.e, "text");
+            
+            obj = createJson('<e><a>text</a><b>text</b></e>');
+            assertTrue('Testing e is not null', obj.e != null);
+            assertEquals('Testing e.a equals text', obj.e.a, "text");
+            assertEquals('Testing e.a.b equals text', obj.e.b, "text");
+          
+            obj = createJson('<e><a>text</a><a>text</a></e>');
+            assertTrue('Testing e is not null', obj.e != null);
+            assertTrue('Testing e.a is not null', obj.e.a != null);
+            assertTrue('Testing e.a is an instance of Array', obj.e.a 
instanceof Array);
+            assertEquals('Testing e.a.length equals 2 ', obj.e.a.length, 2);
+          
+            obj = createJson('<e>text<a>text</a></e>');
+            assertTrue('Testing e is not null', obj.e != null);
+            assertEquals('Testing e["#text"] equals text', obj.e["#text"], 
"text");
+            assertEquals('Testing e.a equals text', obj.e.a, "text"); 
+            
+            obj = createJson('<e><a id="id1"/><a id="id2"/></e>');
+            assertTrue('Testing e is not null', obj.e != null);
+            assertTrue('Testing e.a does not equal null', obj.e.a != null);
+            assertTrue('Testing e.a is an instance of Array', obj.e.a 
instanceof Array);
+            assertEquals('Testing e.a.length is 2', obj.e.a.length, 2);
+            assertEquals('Testing e.a[0]["@id"] equals id1', 
obj.e.a[0]["@id"], "id1");
+            assertEquals('Testing e.a[1].["@id"] equals id2', 
obj.e.a[1]["@id"], "id2"); 
+            
+            obj = createJson(
               '<ol class="xoxo">' + 
                 '<li>' + 
                   'Subject 1' + 
@@ -96,37 +107,35 @@
                   '</ol>' + 
                 '</li>' + 
               '</ol>');
-            assertEquals("Json matches " + domString, 
-              '{' + 
-                '"ol":{' + 
-                  '"@class":"xoxo",' + 
-                  '"li":[' + 
-                    '{' + 
-                      '"#text":"Subject 1",' + 
-                      '"ol":{' + 
-                        '"li":["subpoint a","subpoint b"]' + 
-                      '}' + 
-                    '},' + 
-                    '{' + 
-                      '"@attr":"value",' + 
-                      '"span":"Subject 2",' + 
-                      '"ol":{' + 
-                        '"@compact":"compact",' + 
-                        '"li":["subpoint c","subpoint d"]' + 
-                      '}' + 
-                    '},' + 
-                    '{' + 
-                      '"span":"Subject 2",' + 
-                      '"ol":{' + 
-                        '"li":["subpoint c","subpoint d"]' + 
-                      '}' + 
-                    '}' + 
-                  ']' + 
-                '}' + 
-              '}', domString);
-
-            domString = createJsonString(
-              '<span class="vevent">' + 
+              assertTrue('Testing ol is not null', obj.ol != null);
+              assertEquals('Testing ol["@class"] is equal to xoxo', 
obj.ol["@class"], "xoxo");
+              assertTrue('Testing ol.li is not null', obj.ol.li != null);
+              assertTrue('Testing ol.li is an instance of an Array', obj.ol.li 
instanceof Array);
+              assertEquals('Testing ol.li.length is equal to 3', 
obj.ol.li.length, 3);
+              assertEquals('Testing ol.li[0]["#text"] is equal to Subject 1', 
obj.ol.li[0]["#text"], "Subject 1"); 
+              assertTrue('Testing ol.li.[0].ol is not null', obj.ol.li[0].ol 
!= null);
+              assertTrue('Testing ol.li[0].ol.li is not null', 
obj.ol.li[0].ol.li != null);
+              assertTrue('Testing ol.li[0].ol.li is an instance of Array', 
obj.ol.li[0].ol.li instanceof Array);
+              assertEquals('Testing ol.li[0].ol.li.length is equal to 2', 
obj.ol.li[0].ol.li.length, 2);
+              assertEquals('Testing ol.li[0].ol.li.[0] is equal to subpoint 
a', obj.ol.li[0].ol.li[0], "subpoint a");
+              assertEquals('Testing ol.li[0].ol.li.[1] is equal to subpoint 
b', obj.ol.li[0].ol.li[1], "subpoint b");
+              assertEquals('Testing ol.li[1]["@attr"] is equal to value', 
obj.ol.li[1]["@attr"], "value");
+              assertEquals('Testing ol.li[1].span is equal to Subject 2', 
obj.ol.li[1].span, "Subject 2");
+              assertTrue('Testing ol.li[1].ol is not null', obj.ol.li[1].ol != 
null);
+              assertEquals('Testing ol.li[1].ol["@compact"]', 
obj.ol.li[1].ol["@compact"], "compact");
+              assertTrue('Testing ol.li[1].ol.li is not null', 
obj.ol.li[1].ol.li != null);
+              assertTrue('Testing ol.li[1].ol.li is an instanceof Array', 
obj.ol.li[1].ol.li instanceof Array);
+              assertEquals('Testing ol.li[1].ol.li[0] equals subpoint c', 
obj.ol.li[1].ol.li[0], "subpoint c");
+              assertEquals('Testing ol.li[1].ol.li[1] equals subpoint d', 
obj.ol.li[1].ol.li[1], "subpoint d");
+              assertEquals('Testing old.li[2].span equals Subject 2', 
obj.ol.li[2].span, "Subject 2");
+              assertTrue('Testing ol.li[2].ol is not null', obj.ol.li[2].ol != 
null);
+              assertTrue('Testing ol.li[2].ol.li is not null', 
obj.ol.li[2].ol.li != null);
+              assertTrue('Testing ol.li[2].ol.li is an instance of Array', 
obj.ol.li[2].ol.li instanceof Array);
+              assertEquals('Testing ol.li[2].ol.li.length is equal to 2', 
obj.ol.li[2].ol.li.length, 2);
+              assertEquals('Testing ol.li[2].ol.li[0] is equal to subpoint c', 
obj.ol.li[2].ol.li[0], "subpoint c");
+              assertEquals('Testing ol.li[2].ol.li[1] is equal to subpoint d', 
obj.ol.li[2].ol.li[1], "subpoint d");
+              
+              obj = createJson('<span class="vevent">' + 
                 '<a class="url" href="http://www.web2con.com/";>' + 
                   '<span class="summary">Web 2.0 Conference</span>' + 
                   '<abbr class="dtstart" title="2005-10-05">October 5</abbr>' 
+ 
@@ -134,24 +143,27 @@
                   '<span class="location">Argent Hotel, San Francisco, 
CA</span>' + 
                 '</a>' + 
               '</span>');
-            assertEquals("Json matches " + domString, 
-              '{' + 
-                '"span":{' + 
-                  '"@class":"vevent",' + 
-                  '"a":{' + 
-                    '"@class":"url",' + 
-                    '"@href":"http://www.web2con.com/";,' + 
-                    '"span":[' + 
-                      '{"@class":"summary","#text":"Web 2.0 Conference"},' + 
-                      '{"@class":"location","#text":"Argent Hotel, San 
Francisco, CA"}' + 
-                    '],' + 
-                    '"abbr":[' + 
-                      
'{"@title":"2005-10-05","@class":"dtstart","#text":"October 5"},' + 
-                      '{"@title":"2005-10-08","@class":"dtend","#text":"7"}' + 
-                    ']' + 
-                  '}' + 
-                '}' + 
-              '}', domString);
+              assertTrue('Testing span is not null', obj.span != null);
+              assertEquals('Testing span["@class"] equals vevent', 
obj.span["@class"], "vevent");
+              assertTrue('Testing span.a is not null', obj.span.a != null);
+              assertEquals('Testing span.a["@class"] equals url', 
obj.span.a["@class"], "url");
+              assertEquals('Testing span.a["@href"] equals 
http://www.web2con.com/', obj.span.a["@href"], "http://www.web2con.com/";);
+              assertTrue('Testing span.a.span is not null', obj.span.a.span != 
null);
+              assertTrue('Testing span.a.span is an instance of Array', 
obj.span.a.span instanceof Array);
+              assertEquals('Testing span.a.span.length equals 2', 
obj.span.a.span.length, 2);
+              assertEquals('Testing span.a.span[0]["@class"] equals summary', 
obj.span.a.span[0]["@class"], "summary");
+              assertEquals('Testing span.a.span[0]["#text"] equals Web 2.0 
Conference', obj.span.a.span[0]["#text"], "Web 2.0 Conference");
+              assertEquals('Testing span.a.span[1]["@class"] equals location', 
obj.span.a.span[1]["@class"], "location");
+              assertEquals('Testing span.a.span[1]["#text"] equals Argent 
Hotel, San Francisco, CA', obj.span.a.span[1]["#text"], "Argent Hotel, San 
Francisco, CA");
+              assertTrue('Testing span.a.abbr is not null', obj.span.a.abbr != 
null);
+              assertTrue('Testing span.a.abbr is an instance of Array', 
obj.span.a.abbr instanceof Array);
+              assertEquals('Testing span.a.abbr.length equals 2', 
obj.span.a.abbr.length, 2);
+              assertEquals('Testing span.a.abbr[0]["@title"] equals 
2005-10-05', obj.span.a.abbr[0]["@title"], "2005-10-05");
+              assertEquals('Testing span.a.abbr[0]["@class"] equals dtstart', 
obj.span.a.abbr[0]["@class"], "dtstart");
+              assertEquals('Testing span.a.abbr[0]["#text"] equals October 5', 
obj.span.a.abbr[0]["#text"], "October 5");
+              assertEquals('Testing span.a.abbr[1]["@title"] equals 
2005-10-08', obj.span.a.abbr[1]["@title"], "2005-10-08");
+              assertEquals('Testing span.a.abbr[1]["@class"] equals dtend', 
obj.span.a.abbr[1]["@class"], "dtend");
+              assertEquals('Testing span.a.abbr[1]["#text"] equals 7', 
obj.span.a.abbr[1]["#text"], "7");
 
             finished();
           }


Reply via email to