You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by wo...@apache.org on 2011/05/19 17:55:51 UTC
svn commit: r1124977 - in /shindig/trunk/java/server/src/test:
java/org/apache/shindig/server/endtoend/EndToEndTest.java
resources/endtoend/jsonTest.xml
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();
}