corrected javadoc Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/7308d624 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/7308d624 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/7308d624
Branch: refs/heads/wicket-1.5.x Commit: 7308d624beefe939ab2095c2f495e12624c7a38a Parents: 49410db Author: svenmeier <[email protected]> Authored: Thu Dec 13 15:00:41 2012 +0100 Committer: svenmeier <[email protected]> Committed: Thu Dec 13 15:00:41 2012 +0100 ---------------------------------------------------------------------- .../apache/wicket/util/string/JavaScriptUtils.java | 22 +++++----- .../wicket/util/string/JavaScriptUtilsTest.java | 33 ++++++++++++++- 2 files changed, 42 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/7308d624/wicket-core/src/main/java/org/apache/wicket/util/string/JavaScriptUtils.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/util/string/JavaScriptUtils.java b/wicket-core/src/main/java/org/apache/wicket/util/string/JavaScriptUtils.java index 2a32fa8..0b064ac 100644 --- a/wicket-core/src/main/java/org/apache/wicket/util/string/JavaScriptUtils.java +++ b/wicket-core/src/main/java/org/apache/wicket/util/string/JavaScriptUtils.java @@ -26,24 +26,24 @@ import org.apache.wicket.request.Response; */ public class JavaScriptUtils { - /** Script open tag */ - public final static String SCRIPT_OPEN_TAG = "<script type=\"text/javascript\">\n/*<![CDATA[*/\n"; - - /** Script close tag */ - public final static String SCRIPT_CLOSE_TAG = "\n/*]]>*/\n</script>\n"; - /** - * Script open tag. If this tag is changed, also update Wicket.Head.Contributor.processScript() - * function from wicket-ajax.js + * Prefix for JavaScript CDATA content. If this is changed, also update + * Wicket.Head.Contributor.processScript() function from wicket-ajax.js */ public final static String SCRIPT_CONTENT_PREFIX = "\n/*<![CDATA[*/\n"; /** - * Script close tag. If this tag is changed, also update Wicket.Head.Contributor.processScript() - * function from wicket-ajax.js + * Suffix for JavaScript CDATA content. If this is changed, also update + * Wicket.Head.Contributor.processScript() function from wicket-ajax.js */ public final static String SCRIPT_CONTENT_SUFFIX = "\n/*]]>*/\n"; + /** Script open tag including content prefix */ + public final static String SCRIPT_OPEN_TAG = "<script type=\"text/javascript\">" + + SCRIPT_CONTENT_PREFIX; + + /** Script close tag including content suffix */ + public final static String SCRIPT_CLOSE_TAG = SCRIPT_CONTENT_SUFFIX + "</script>\n"; /** The response object */ private final Response response; @@ -171,7 +171,7 @@ public class JavaScriptUtils public static void writeJavaScript(final Response response, final CharSequence text, String id) { writeOpenTag(response, id); - response.write(text); + response.write(Strings.replaceAll(text, "</", "<\\/")); writeCloseTag(response); } http://git-wip-us.apache.org/repos/asf/wicket/blob/7308d624/wicket-core/src/test/java/org/apache/wicket/util/string/JavaScriptUtilsTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/util/string/JavaScriptUtilsTest.java b/wicket-core/src/test/java/org/apache/wicket/util/string/JavaScriptUtilsTest.java index 4c1dd3f..d3be52b 100644 --- a/wicket-core/src/test/java/org/apache/wicket/util/string/JavaScriptUtilsTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/util/string/JavaScriptUtilsTest.java @@ -27,6 +27,7 @@ public class JavaScriptUtilsTest extends Assert { /** * https://issues.apache.org/jira/browse/WICKET-4546 + * * @throws Exception */ @Test @@ -39,6 +40,34 @@ public class JavaScriptUtilsTest extends Assert String charset = "some&bad%%charset"; JavaScriptUtils.writeJavaScriptUrl(response, url, id, defer, charset); - assertEquals("<script type=\"text/javascript\" id=\"some&bad%id\" defer=\"defer\" charset=\"some&bad%%charset\" src=\"some/url;jsessionid=1234?p1=v1&p2=v2\"></script>\n", response.toString()); + assertEquals( + "<script type=\"text/javascript\" id=\"some&bad%id\" defer=\"defer\" charset=\"some&bad%%charset\" src=\"some/url;jsessionid=1234?p1=v1&p2=v2\"></script>\n", + response.toString()); } -} + + /** + */ + @Test + public void writeJavaScript() + { + StringResponse response = new StringResponse(); + JavaScriptUtils.writeJavaScript(response, + "var message = 'Scripts are written to the <script></script> tag'"); + + assertEquals("<script type=\"text/javascript\" >\n" // + + "/*<![CDATA[*/\n" // + + "var message = 'Scripts are written to the <script><\\/script> tag'\n" // + + "/*]]>*/\n"// + + "</script>\n", response.toString()); + } + + /** + */ + @Test + public void scriptTag() + { + assertEquals("<script type=\"text/javascript\">\n/*<![CDATA[*/\n", + JavaScriptUtils.SCRIPT_OPEN_TAG); + assertEquals("\n/*]]>*/\n</script>\n", JavaScriptUtils.SCRIPT_CLOSE_TAG); + } +} \ No newline at end of file
