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:34:29 UTC
svn commit: r933812 -
/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java
Author: jakobk
Date: Tue Apr 13 23:34:28 2010
New Revision: 933812
URL: http://svn.apache.org/viewvc?rev=933812&view=rev
Log:
MYFACES-2650 chaining ajax onchange with existing onchange creates syntax error (test case)
Modified:
myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java
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=933812&r1=933811&r2=933812&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:34:28 2010
@@ -197,5 +197,27 @@ public class HtmlTextRendererTest extend
}
}
-
+
+ /**
+ * Tests if a JavaScript user code is correctly escaped.
+ * e.g. alert('test') has to become alert(\'test\')
+ */
+ public void testClientBehaviorUserCodeJavaScriptEscaping()
+ {
+ inputText.getAttributes().put("onchange", "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,
+ // 'alert(\'test\')');"
+ assertTrue(output.contains("'alert(\\'test\\')'"));
+ }
+ catch (Exception e)
+ {
+ fail(e.getMessage());
+ }
+ }
+
}