You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2012/04/25 00:55:27 UTC

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

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 <sv...@apache.org>
Authored: Wed Apr 25 00:55:02 2012 +0200
Committer: Sven Meier <sv...@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;\""));
 	}
 
 	/**