[ https://issues.apache.org/jira/browse/TAP5-2300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dragan Sahpaski updated TAP5-2300: ---------------------------------- Attachment: TAP5-2300.patch > JavaScriptSupport.addInitializerCall is not backwards compatible > ---------------------------------------------------------------- > > Key: TAP5-2300 > URL: https://issues.apache.org/jira/browse/TAP5-2300 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core > Affects Versions: 5.2.4 > Reporter: Dragan Sahpaski > Attachments: TAP5-2300.patch > > > In JavaScriptSupport, void addInitializerCall(String functionName, JSONArray > parameter) and void addInitializerCall(InitializationPriority priority, > String functionName, JSONArray parameter) are not backwards compatible with > tapestry 5.3. > Example: > javaScriptSupport.addInitializerCall("Test1", new JSONObject("a", "b")); > results with: Invoking t5/core/init("Test1", ["a","b"]), and it should result > with: Invoking t5/core/init("Test1", "a", "b") according to the behavior in > tapestry 5.3 also documented in the javadoc > http://tapestry.apache.org/5.3/apidocs/org/apache/tapestry5/services/javascript/JavaScriptSupport.html#addInitializerCall(org.apache.tapestry5.services.javascript.InitializationPriority, > java.lang.String, org.apache.tapestry5.json.JSONArray). Quote "parameter - > array of parameters to pass to the client-side function". > The problem is with the way the code has been rewritten to use requirejs. > Here's the bug > https://github.com/apache/tapestry-5/blob/549b148f9af1bdd65c1e80b81c31274cfa4f8491/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavaScriptSupportImpl.java#L201 > parameter should be expanded when it's of type JSONArray. > I'm attaching a patch which breaks 2 test methods in > JavaScriptSupportImplTest which are also wrong according to the behavior in > 5.3. > Please review. -- This message was sent by Atlassian JIRA (v6.2#6252)