Updated Branches:
  refs/heads/wicket-1.5.x 6cbcea2a2 -> f3c9a37e6

WICKET-4505 unescape markup attribute during parsing, don't unescape while 
rendering


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/f3c9a37e
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/f3c9a37e
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/f3c9a37e

Branch: refs/heads/wicket-1.5.x
Commit: f3c9a37e675a005d6f6814ac9d2835e73059a8ae
Parents: 6cbcea2
Author: Sven Meier <svenme...@apache.org>
Authored: Wed Apr 25 00:55:02 2012 +0200
Committer: Sven Meier <svenme...@apache.org>
Committed: Wed Apr 25 00:55:02 2012 +0200

----------------------------------------------------------------------
 .../apache/wicket/markup/parser/TagAttributes.java |    2 +-
 .../apache/wicket/markup/parser/XmlPullParser.java |    4 ++++
 .../markup/ComponentTagAttributeEscapingTest.java  |    4 ++--
 3 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/f3c9a37e/wicket-core/src/main/java/org/apache/wicket/markup/parser/TagAttributes.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/parser/TagAttributes.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/parser/TagAttributes.java
index 6f9719d..041b0cd 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/parser/TagAttributes.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/parser/TagAttributes.java
@@ -54,7 +54,7 @@ public class TagAttributes extends ValueMap
        public final Object put(String key, Object value)
        {
 
-               return super.put(key, unescapeHtml(value));
+               return super.put(key, value);
        }
 
        @Override

http://git-wip-us.apache.org/repos/asf/wicket/blob/f3c9a37e/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java
index d074650..d0cad87 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java
@@ -31,6 +31,7 @@ import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.parse.metapattern.parsers.TagNameParser;
 import 
org.apache.wicket.util.parse.metapattern.parsers.VariableAssignmentParser;
 import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
+import org.apache.wicket.util.string.Strings;
 
 /**
  * A fairly shallow markup pull parser which parses a markup string of a given 
type of markup (for
@@ -653,6 +654,9 @@ public final class XmlPullParser implements IXmlPullParser
                                // Trim trailing whitespace
                                value = value.trim();
 
+                               // Unescape
+                               value = 
Strings.unescapeMarkup(value).toString();
+
                                // Get key
                                final String key = attributeParser.getKey();
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/f3c9a37e/wicket-core/src/test/java/org/apache/wicket/markup/ComponentTagAttributeEscapingTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/markup/ComponentTagAttributeEscapingTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/markup/ComponentTagAttributeEscapingTest.java
index b8f0da6..6729767 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/markup/ComponentTagAttributeEscapingTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/markup/ComponentTagAttributeEscapingTest.java
@@ -45,8 +45,8 @@ public class ComponentTagAttributeEscapingTest extends 
WicketTestCase
                assertTrue("must not be double escaped", 
response.contains("Watch escaped value: &gt;&gt;"));
                assertTrue("following the last assert logic, this one would 
true",
                        response.contains("alerting: &amp;"));
-               assertTrue("not double escape manually add attributes",
-                       response.contains("some_attribute=\"&amp;\""));
+               assertTrue("escape manually added attributes",
+                       response.contains("some_attribute=\"&amp;amp;\""));
        }
 
        /**

Reply via email to