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());
+       }
 }

Reply via email to