You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ja...@apache.org on 2010/04/14 01:40:38 UTC
svn commit: r933814 -
/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java
Author: jakobk
Date: Tue Apr 13 23:40:38 2010
New Revision: 933814
URL: http://svn.apache.org/viewvc?rev=933814&view=rev
Log:
MYFACES-2657 Already escaped apostrophes are double-escaped while building the ClientBehavior JavaScript (test case)
Modified:
myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java (contents, props changed)
Modified: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java?rev=933814&r1=933813&r2=933814&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java Tue Apr 13 23:40:38 2010
@@ -43,8 +43,8 @@ import org.apache.myfaces.test.mock.Mock
import org.apache.myfaces.test.mock.MockResponseWriter;
/**
- * @author Bruno Aranda (latest modification by $Author: grantsmith $)
- * @version $Revision: 472618 $ $Date: 2006-11-09 04:06:54 +0800 (Thu, 09 Nov 2006) $
+ * @author Bruno Aranda (latest modification by $Author$)
+ * @version $Revision$ $Date$
*/
public class HtmlTextRendererTest extends AbstractJsfTestCase
{
@@ -220,4 +220,26 @@ public class HtmlTextRendererTest extend
}
}
+ /**
+ * Tests if a JavaScript user code that already contains ' is correctly escaped.
+ * e.g. test = 'a\'b'; has to become test = \'a\\\'b\';
+ */
+ public void testClientBehaviorUserCodeJavaScriptDoubleEscaping()
+ {
+ inputText.getAttributes().put("onchange", "var test = \'a\\\'b\'; alert(test);");
+ inputText.addClientBehavior("change", new AjaxBehavior());
+ try
+ {
+ inputText.encodeAll(facesContext);
+ String output = ((StringWriter) writer.getWriter()).getBuffer().toString();
+ // onchange="jsf.util.chain(document.getElementById('j_id0'), event,
+ // 'var test = \'a\\\'b\'; alert(test);');"
+ assertTrue(output.contains("'var test = \\'a\\\\\\'b\\'; alert(test);'"));
+ }
+ catch (Exception e)
+ {
+ fail(e.getMessage());
+ }
+ }
+
}
Propchange: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL