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=\"&lt;script&amp;&quot;data&quot;&gt;\"/>",
+    assertEquals("<div foo=\"<script&&#34;data&#34;>\"/>",
                  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/&#34;img&#34;?q=1&foo=2\"/>",
+                 renderNode(node));
+  }
+  
   private String renderNode(GadgetHtmlNode node) {
     StringWriter sw = new StringWriter();
     try {


Reply via email to