You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Dragan Sahpaski (JIRA)" <ji...@apache.org> on 2014/03/14 19:56:42 UTC

[jira] [Created] (TAP5-2300) JavaScriptSupport.addInitializerCall is not backwards compatible

Dragan Sahpaski created TAP5-2300:
-------------------------------------

             Summary: 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


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)