Ugh, the order of the properties is not guaranteed, of course. I uploaded a new patch and changed the tests so they check each property of the JSON object instead of comparing the JSON string. Can you try out the tests now? Thanks.
-Ryan Email: [email protected] Phone: 978-899-3041 developerWorks Profile From: John Hjelmstad <[email protected]> To: [email protected], Cc: [email protected] Date: 05/05/2011 08:02 PM Subject: Re: Add the ability to translate arbritary XML into JSON (issue4438071) Looks like it's a JSON-ordering issue. These are always painful. Error is: Results : Failed tests: jsonParse(org.apache.shindig.server.endtoend.EndToEndTest): test method jsonConvertXmlToJsonTest did not finish Running in Eclipse gives me: ======= EXCEPTION START ======== Exception class=[net.sourceforge.htmlunit.corejs.javascript.JavaScriptException] com.gargoylesoftware.htmlunit.ScriptException: assertEquals() failed: Json matches {"span":{"@class":"vevent","a":{"@href":"http://www.web2con.com/ ","@class":"url","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"}]}}} Expected "{"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"}]}}}", was "{"span":{"@class":"vevent","a":{"@href":"http://www.web2con.com/ ","@class":"url","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"}]}}}" ( http://localhost:9003/gadgets/concat?container=default&gadget=http%3A%2F%2Flocalhost%3A9003%2FjsonTest.xml&debug=0&nocache=1&type=js&1=http%3A%2F%2Flocalhost%3A9003%2Ftestframework.js#37 ) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:601) at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:538) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:499) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:474) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:880) at com.gargoylesoftware.htmlunit.html.HtmlScript.executeInlineScriptIfNeeded(HtmlScript.java:312) at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:379) at com.gargoylesoftware.htmlunit.html.HtmlScript$1.execute(HtmlScript.java:225) at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:245) at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:578) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:536) at org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1136) at org.cyberneko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1038) at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:206) at org.cyberneko.html.filters.NamespaceBinder.endElement(NamespaceBinder.java:329) at org.cyberneko.html.HTMLScanner$ContentScanner.scanEndElement(HTMLScanner.java:2999) at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:1991) at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:895) at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499) at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:765) at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:211) at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:165) at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:225) at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:108) at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:429) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:307) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:369) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:354) at org.apache.shindig.server.endtoend.EndToEndTest.executePageTest(EndToEndTest.java:427) at org.apache.shindig.server.endtoend.EndToEndTest.executeAllPageTests(EndToEndTest.java:442) at org.apache.shindig.server.endtoend.EndToEndTest.jsonParse(EndToEndTest.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Caused by: net.sourceforge.htmlunit.corejs.javascript.JavaScriptException: assertEquals() failed: Json matches {"span":{"@class":"vevent","a":{"@href":"http://www.web2con.com/ ","@class":"url","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"}]}}} Expected "{"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"}]}}}", was "{"span":{"@class":"vevent","a":{"@href":"http://www.web2con.com/ ","@class":"url","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"}]}}}" ( http://localhost:9003/gadgets/concat?container=default&gadget=http%3A%2F%2Flocalhost%3A9003%2FjsonTest.xml&debug=0&nocache=1&type=js&1=http%3A%2F%2Flocalhost%3A9003%2Ftestframework.js#37 ) at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1062) at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:845) at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:164) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:429) at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:269) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3162) at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(InterpretedFunction.java:175) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$3.doRun(JavaScriptEngine.java:490) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:595) ... 61 more JavaScriptException value = assertEquals() failed: Json matches {"span":{"@class":"vevent","a":{"@href":"http://www.web2con.com/ ","@class":"url","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"}]}}} Expected "{"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"}]}}}", was "{"span":{"@class":"vevent","a":{"@href":"http://www.web2con.com/ ","@class":"url","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"}]}}}" ======= EXCEPTION END ======== java.lang.AssertionError: test method jsonConvertXmlToJsonTest did not finish <stacktrace...> "{"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"}]}}}" "{"span":{"@class":"vevent","a":{*"@href":"http://www.web2con.com/ ","@class":"url"*,"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"}]}}}" I've committed the code with @Ignore on this test for now. --j On Thu, May 5, 2011 at 3:52 PM, Ryan J Baxter <[email protected]> wrote: > Matt had a good suggestion but after we talked today we concluded that it > can't be the problem you are seeing John. I am compiling shindig with > Java 1.5 and Matt applied the patch today and built it with 1.6 and all > the tests pass on his machine as well. Could you give more details on > what test is failing John? I know its kind of a pain to do.....but I am > not really sure why the tests are failing in your environment. > > I also uploaded an updated patch based on a bug I found today. > > -Ryan > > Email: [email protected] > Phone: 978-899-3041 > developerWorks Profile > > > > From: Matthew G Marum/Raleigh/IBM@IBMUS > To: [email protected], > Cc: [email protected], Ryan J Baxter/Westford/IBM@Lotus > Date: 05/04/2011 01:37 PM > Subject: Re: Add the ability to translate arbritary XML into JSON > (issue4438071) > > > > I haven't had a chance to try it, but could it be a JRE related issue? > > Matt > > > rbaxter85---05/03/2011 08:51:03 PM---Thats odd John. I checkout a fresh > version of Shindig from SVN, applied the patch from the code rev > > > From: > > [email protected] > > To: > > [email protected], [email protected], Ryan J > Baxter/Westford/IBM@Lotus > > Cc: > > [email protected] > > Date: > > 05/03/2011 08:51 PM > > Subject: > > Re: Add the ability to translate arbritary XML into JSON (issue4438071) > > > > Thats odd John. I checkout a fresh version of Shindig from SVN, applied > the patch from the code review and built everything and everything built > fine. Any details on what the failure is? > [INFO] Apache Shindig Project ............................ SUCCESS > [7.157s] > [INFO] Apache Shindig Features ........................... SUCCESS > [28.718s] > [INFO] Apache Shindig Common Code ........................ SUCCESS > [17.880s] > [INFO] Apache Shindig Gadget Renderer .................... SUCCESS > [39.610s] > [INFO] Apache Shindig Social API ......................... SUCCESS > [17.006s] > [INFO] Apache Shindig Extra Modules ...................... SUCCESS > [4.847s] > [INFO] Apache Shindig Web App ............................ SUCCESS > [34.333s] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 2:31.308s > [INFO] Finished at: Tue May 03 20:39:24 EDT 2011 > [INFO] Final Memory: 15M/81M > [INFO] > ------------------------------------------------------------------------ > > On 2011/05/03 20:19:55, johnfargo wrote: > > Hi Ryan, > > > I was trying to do so, but found that EndToEndTest still fails for me. > Thoughts? > > Failed tests: > > jsonParse(org.apache.shindig.server.endtoend.EndToEndTest): test > method > > jsonConvertXmlToJsonTest did not finish > > > > --j > > > On 2011/05/03 12:34:21, http://rjbaxter_us.ibm.com wrote: > > > Could someone please complete this code review for me and deliver > the > > > code? This issue has been open for a while and I have had trouble > finding > > > someone to finish the code review and deliver the code. Thanks. > > > > > > -Ryan > > > > > > Email: mailto:[email protected] > > > Phone: 978-899-3041 > > > developerWorks Profile > > > > > > > > > > > > From: mailto:[email protected] > > > To: mailto:[email protected], mailto:[email protected], > > > Cc: mailto:[email protected] > > > Date: 04/29/2011 11:24 AM > > > Subject: Re: Add the ability to translate arbritary XML into > JSON > > > (issue4438071) > > > > > > > > > > > > John when you get a chance could you review my updated changes? > Thanks! > > > > > > On 2011/04/27 14:41:27, rbaxter85 wrote: > > > > Updated patch with John's Suggestions > > > > > > > > > > > > http://codereview.appspot.com/4438071/ > > > > > > > > > > > > > http://codereview.appspot.com/4438071/ > > > > >
