WICKET-6178 MetaDataHeaderItem # generateString() should return specials characters escaped like StringEscapeUtils.escapeHtml(s) does
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d1b4ce5c Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d1b4ce5c Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d1b4ce5c Branch: refs/heads/WICKET-6183 Commit: d1b4ce5c76e910685358aae36754d295913332de Parents: db90877 Author: Andrea Del Bene <[email protected]> Authored: Thu Jun 9 11:09:19 2016 +0200 Committer: Andrea Del Bene <[email protected]> Committed: Thu Jun 9 11:17:06 2016 +0200 ---------------------------------------------------------------------- .../org/apache/wicket/markup/head/MetaDataHeaderItem.java | 3 +-- .../apache/wicket/markup/head/MetaDataHeaderItemTest.java | 9 +++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/d1b4ce5c/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java index 3d8cfa9..35b3cbd 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java @@ -21,7 +21,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import org.apache.wicket.core.util.string.JavaScriptUtils; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.apache.wicket.request.Response; @@ -123,7 +122,7 @@ public class MetaDataHeaderItem extends HeaderItem { buffer.append('=') .append('"') - .append(JavaScriptUtils.escapeQuotes(value.toString())) + .append(Strings.replaceAll(value.toString(), "\"", "\\\"")) .append('"'); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/d1b4ce5c/wicket-core/src/test/java/org/apache/wicket/markup/head/MetaDataHeaderItemTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/head/MetaDataHeaderItemTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/head/MetaDataHeaderItemTest.java index 472a722..6cff0a5 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/head/MetaDataHeaderItemTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/markup/head/MetaDataHeaderItemTest.java @@ -42,4 +42,13 @@ public class MetaDataHeaderItemTest assertEquals(expectedString, metaTag.generateString()); } + + @Test + public void testEscapeOnlyDoubleQuotes() throws Exception + { + String expectedString = "<link rel=\"single quote \' double quotes\\\"\" href=\"\" />\n"; + MetaDataHeaderItem metaTag = MetaDataHeaderItem.forLinkTag("single quote \' double quotes\"", ""); + + assertEquals(expectedString, metaTag.generateString()); + } }
