Author: johnh
Date: Tue Aug 19 19:13:00 2008
New Revision: 687225
URL: http://svn.apache.org/viewvc?rev=687225&view=rev
Log:
Not HTML escaping attributes any longer, but instead escaping only
double-quotes.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlNode.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/GadgetHtmlNodeTest.java
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlNode.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlNode.java?rev=687225&r1=687224&r2=687225&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlNode.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlNode.java
Tue Aug 19 19:13:00 2008
@@ -333,7 +333,7 @@
String attrValue = getAttributeValue(attrKey);
w.append(' ').append(attrKey);
if (attrValue != null) {
-
w.append("=\"").append(StringEscapeUtils.escapeHtml(attrValue)).append('"');
+ w.append("=\"").append(attrValue.replaceAll("\"",
""")).append('"');
}
}
if (children.size() == 0 &&
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/GadgetHtmlNodeTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/GadgetHtmlNodeTest.java?rev=687225&r1=687224&r2=687225&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/GadgetHtmlNodeTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/GadgetHtmlNodeTest.java
Tue Aug 19 19:13:00 2008
@@ -469,7 +469,7 @@
public void testRenderEscapedAttribute() {
String[][] attribs = { { "foo", "<script&\"data\">" } };
GadgetHtmlNode escapedTag = new GadgetHtmlNode("div", attribs);
- assertEquals("<div foo=\"<script&"data">\"/>",
+ assertEquals("<div foo=\"<script&"data">\"/>",
renderNode(escapedTag));
}
@@ -530,6 +530,20 @@
renderNode(textNode));
}
+ public void testRenderAttribWithEscapeChars() {
+ String[][] attribs = { { "src", "http://foo.com/img?s=blah&foo=2" } };
+ GadgetHtmlNode node = new GadgetHtmlNode("img", attribs);
+ assertEquals("<img src=\"http://foo.com/img?s=blah&foo=2\"/>",
+ renderNode(node));
+ }
+
+ public void testRenderAttribWithEscapeAndQuotes() {
+ String[][] attribs = { { "src", "http://foo.com/\"img\"?q=1&foo=2" } };
+ GadgetHtmlNode node = new GadgetHtmlNode("img", attribs);
+ assertEquals("<img src=\"http://foo.com/"img"?q=1&foo=2\"/>",
+ renderNode(node));
+ }
+
private String renderNode(GadgetHtmlNode node) {
StringWriter sw = new StringWriter();
try {