[richfaces-svn-commits] JBoss Rich Faces SVN: r439 - trunk/richfaces/datascroller/src/test/java/org/richfaces/component.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Apr 18 10:25:40 EDT 2007


Author: d.bulahov
Date: 2007-04-18 10:25:39 -0400 (Wed, 18 Apr 2007)
New Revision: 439

Modified:
   trunk/richfaces/datascroller/src/test/java/org/richfaces/component/DatascrollerComponentTest.java
Log:
Unit tests development

Modified: trunk/richfaces/datascroller/src/test/java/org/richfaces/component/DatascrollerComponentTest.java
===================================================================
--- trunk/richfaces/datascroller/src/test/java/org/richfaces/component/DatascrollerComponentTest.java	2007-04-18 14:24:51 UTC (rev 438)
+++ trunk/richfaces/datascroller/src/test/java/org/richfaces/component/DatascrollerComponentTest.java	2007-04-18 14:25:39 UTC (rev 439)
@@ -21,17 +21,28 @@
 
 package org.richfaces.component;
 
+import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlScript;
 import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
 import org.apache.commons.lang.StringUtils;
+import org.richfaces.event.DataScrollerAdapter;
+import org.richfaces.event.DataScrollerEvent;
 
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UICommand;
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIData;
 import javax.faces.component.UIOutput;
+import javax.faces.component.html.HtmlCommandLink;
 import javax.faces.component.html.HtmlDataTable;
 import javax.faces.component.html.HtmlForm;
+import javax.faces.context.FacesContext;
+import javax.faces.el.EvaluationException;
+import javax.faces.el.MethodBinding;
+import javax.faces.el.MethodNotFoundException;
+
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -58,6 +69,7 @@
     private UIOutput fastforward;
     private UIOutput next;
     private UIOutput last;
+    private UICommand command = null;
 
     /**
      * Create the test case
@@ -75,7 +87,7 @@
         super.setUp();
 
         form = new HtmlForm();
-        form.setId("form");
+        form.setId("form");        
         facesContext.getViewRoot().getChildren().add(form);
         ArrayList dat = new ArrayList();
         for (int i=0;i<20;i++){
@@ -84,7 +96,7 @@
         data = (UIData) application.createComponent(HtmlDataTable.COMPONENT_TYPE);
         data.setValue(dat);
         data.setId("data");
-        data.setRows(5);
+        data.setRows(5);        
         form.getChildren().add(data);
 
         scroller = (UIDatascroller) application.createComponent("org.richfaces.Datascroller");
@@ -118,6 +130,11 @@
         scroller.getFacets().put(last.getId(), last);
 
         form.getChildren().add(scroller);
+
+        command = new HtmlCommandLink();
+        command.setId("command");
+        form.getChildren().add(command);
+        
     }
 
     /* (non-Javadoc)
@@ -206,6 +223,16 @@
         }
 
     }
+
+    public void testNotFor() throws Exception {
+        scroller.setFor(null);        
+        try {
+            HtmlPage page = renderView();
+            assertTrue(false);
+        } catch(Exception ex) {
+        }
+
+    }
     
     
     /**
@@ -378,4 +405,28 @@
         data.setRows(0);
         
     }
+    
+    public void testListener() throws Exception{
+        HtmlPage renderedView = renderView();
+    
+        HtmlAnchor htmlLink = (HtmlAnchor) renderedView.getHtmlElementById(command.getClientId(facesContext));
+        htmlLink.click();
+        
+        MethodBinding binding = new MethodBinding(){    
+        public Object invoke(FacesContext context, Object[] params) throws EvaluationException, MethodNotFoundException {
+        facesContext.addMessage(scroller.getClientId(facesContext), new FacesMessage("Method invoked!"));
+        return "invoked"; 
+        }
+        public Class getType(FacesContext context) throws MethodNotFoundException {
+        return String.class;
+        }
+    };
+    
+    DataScrollerEvent event = new DataScrollerEvent( ((UIComponent) scroller), "1", "2" );
+    new DataScrollerAdapter(binding).processScroller(event);
+
+    assertTrue(facesContext.getMessages().hasNext());
+    } 
+    
+    
 }




More information about the richfaces-svn-commits mailing list