[richfaces-svn-commits] JBoss Rich Faces SVN: r11976 - trunk/ui/suggestionbox/src/test/java/org/richfaces/component.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Mon Dec 22 10:59:21 EST 2008
Author: alevkovsky
Date: 2008-12-22 10:59:20 -0500 (Mon, 22 Dec 2008)
New Revision: 11976
Modified:
trunk/ui/suggestionbox/src/test/java/org/richfaces/component/SuggestionBoxComponentTest.java
Log:
Add JUnits for suggestionBox
Modified: trunk/ui/suggestionbox/src/test/java/org/richfaces/component/SuggestionBoxComponentTest.java
===================================================================
--- trunk/ui/suggestionbox/src/test/java/org/richfaces/component/SuggestionBoxComponentTest.java 2008-12-22 15:38:13 UTC (rev 11975)
+++ trunk/ui/suggestionbox/src/test/java/org/richfaces/component/SuggestionBoxComponentTest.java 2008-12-22 15:59:20 UTC (rev 11976)
@@ -21,14 +21,24 @@
package org.richfaces.component;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Set;
+import javax.el.ELContext;
+import javax.el.ELException;
+import javax.el.MethodExpression;
+import javax.el.MethodInfo;
+import javax.el.PropertyNotFoundException;
import javax.faces.component.UIForm;
import javax.faces.component.UIInput;
import javax.faces.component.html.HtmlForm;
+import javax.faces.el.MethodNotFoundException;
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.event.AjaxEvent;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
@@ -40,6 +50,7 @@
public class SuggestionBoxComponentTest extends AbstractAjax4JsfTestCase {
private static Set javaScripts = new HashSet();
private static final boolean IS_PAGE_AVAILABILITY_CHECK = true;
+ private static String[] SUGGESTION = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
static {
javaScripts.add("org.ajax4jsf.javascript.AjaxScript");
@@ -81,6 +92,8 @@
sb = (UISuggestionBox)application.createComponent("org.richfaces.SuggestionBox");
sb.setId("suggestionBox");
sb.setFor(input.getId());
+ sb.setUsingSuggestObjects(true);
+ sb.setSuggestionAction(action);
form.getChildren().add(sb);
}
@@ -146,4 +159,69 @@
//System.out.println(page.asXml());
assertEquals(getCountValidScripts(page, javaScripts, IS_PAGE_AVAILABILITY_CHECK).intValue(), javaScripts.size());
}
+
+ public void testBroadcast() throws Exception {
+ HtmlPage page = renderView();
+ assertNotNull(page);
+ sb.setFetchValue("1");
+ sb.setSubmitedValue(null, new String[]{"1"});
+
+ sb.broadcast(new AjaxEvent(sb));
+ AjaxContext ajaxContext = AjaxContext.getCurrentInstance(facesContext);
+ assertFalse(ajaxContext.getAjaxAreasToRender().isEmpty());
+ assertTrue(ajaxContext.getAjaxAreasToRender().iterator().next().contains(sb.getClientId(facesContext)));
+ Map<String, Object> ajaxResponseData = ajaxContext.getResponseDataMap();
+ Map<String, Object> data = (Map<String, Object>) ajaxResponseData.get("_ajax:data");
+ Object suggestinObjects = data.get("suggestionObjects");
+ assertNotNull(suggestinObjects);
+ assertEquals(Arrays.asList(SUGGESTION), suggestinObjects);
+ Map requestedObjectsObjects = (Map)data.get("requestedObjects");
+ assertNotNull(requestedObjectsObjects);
+ assertEquals(requestedObjectsObjects.get("1"), "1");
+ }
+
+ public void testDecode() throws Exception {
+ HtmlPage page = renderView();
+ assertNotNull(page);
+ sb.setFetchValue("1");
+ sb.setSubmitedValue(Arrays.asList(SUGGESTION), new String[] { "1" });
+ facesContext.getExternalContext().getRequestParameterMap().put(
+ sb.getClientId(facesContext) + "_selection", "1");
+
+ sb.processDecodes(facesContext);
+ assertEquals(1, sb.getRowNumber());
+ }
+
+ MethodExpression action = new MethodExpression(){
+
+ public Object invoke(ELContext context, Object[] params) throws PropertyNotFoundException, MethodNotFoundException,
+ ELException {
+ return Arrays.asList(SUGGESTION);
+ }
+
+ public MethodInfo getMethodInfo(ELContext context) {
+
+ return null;
+ }
+
+ public boolean equals(Object obj) {
+ return (obj instanceof MethodExpression && obj.hashCode() == this.hashCode());
+ }
+
+
+ public String getExpressionString() {
+ return null;
+ }
+
+ public int hashCode() {
+ return 0;
+ }
+
+ public boolean isLiteralText() {
+ return false;
+ }
+
+ };
+
+
}
More information about the richfaces-svn-commits
mailing list