[richfaces-svn-commits] JBoss Rich Faces SVN: r449 - trunk/richfaces/dropdown-menu/src/test/java/org/richfaces/component.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Apr 19 10:00:01 EDT 2007


Author: d.bulahov
Date: 2007-04-19 10:00:01 -0400 (Thu, 19 Apr 2007)
New Revision: 449

Modified:
   trunk/richfaces/dropdown-menu/src/test/java/org/richfaces/component/DropDownMenuComponentTest.java
Log:
Unit tests development

Modified: trunk/richfaces/dropdown-menu/src/test/java/org/richfaces/component/DropDownMenuComponentTest.java
===================================================================
--- trunk/richfaces/dropdown-menu/src/test/java/org/richfaces/component/DropDownMenuComponentTest.java	2007-04-19 10:57:19 UTC (rev 448)
+++ trunk/richfaces/dropdown-menu/src/test/java/org/richfaces/component/DropDownMenuComponentTest.java	2007-04-19 14:00:01 UTC (rev 449)
@@ -22,14 +22,22 @@
 
 package org.richfaces.component;
 
+import com.gargoylesoftware.htmlunit.Page;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlScript;
+
+import org.ajax4jsf.framework.resource.InternetResource;
+import org.ajax4jsf.framework.resource.InternetResourceBuilder;
+import org.ajax4jsf.framework.resource.ResourceBuilderImpl;
+import org.ajax4jsf.framework.util.image.ImageInfo;
 import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
 import org.apache.commons.lang.StringUtils;
 
 import javax.faces.component.UIForm;
 import javax.faces.component.html.HtmlForm;
+import javax.servlet.http.HttpServletResponse;
+
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -42,8 +50,9 @@
     private static Set javaScripts = new HashSet();
 
     static {
-    	javaScripts.add("prototype.js");
+    	javaScripts.add("prototype.js");        
         javaScripts.add("org.ajax4jsf.framework.ajax.AjaxScript");
+        javaScripts.add("org.ajax4jsf.framework.util.command.CommandScript");
         javaScripts.add("scripts/menu.js");
     }
 
@@ -70,6 +79,8 @@
         facesContext.getViewRoot().getChildren().add(form);
         dropDownMenu = (UIDropDownMenu)application.createComponent("org.richfaces.DropDownMenu");
         dropDownMenu.setId("DropDownMenu");
+        dropDownMenu.getAttributes().put("style", "width:300px");
+        dropDownMenu.getAttributes().put("styleClass", "myclass");
         form.getChildren().add(dropDownMenu);
 
         UIMenuItem item = (UIMenuItem)application.createComponent("org.richfaces.MenuItem");
@@ -137,10 +148,32 @@
         String classAttr = div.getAttributeValue("class");
         assertTrue(classAttr.contains("dr-menu-label"));
         assertTrue(classAttr.contains("dr-menu-label-unselect"));
-        assertTrue(classAttr.contains("rich-menu-label"));
-        assertTrue(classAttr.contains("rich-menu-label-unselect"));
+        assertTrue(classAttr.contains("rich-ddmenu-label"));
+        assertTrue(classAttr.contains("rich-ddmenu-label-unselect"));
+        assertTrue(classAttr.contains("myclass"));
+        String style = div.getAttributeValue("style");
+        assertTrue(style.contains("width:300px"));
     }
+
     /**
+     * Test component not rendering
+     *
+     * @throws Exception
+     */
+    public void testNotRender() throws Exception {
+        dropDownMenu.setRendered(false);
+        HtmlPage page = renderView();
+        assertNotNull(page);
+        try {
+            page.getHtmlElementById(dropDownMenu.getClientId(facesContext));
+            assertTrue(false);
+        } catch(Exception ex) {
+        }        
+    }
+
+    
+    
+    /**
      * Test style rendering
      *
      * @throws Exception
@@ -149,7 +182,7 @@
         HtmlPage page = renderView();
         assertNotNull(page);
         List links = page.getDocumentElement().getHtmlElementsByTagName("link");
-        assertEquals(1, links.size());
+        assertEquals(2, links.size());
         HtmlElement link = (HtmlElement) links.get(0);
         assertTrue(link.getAttributeValue("href").contains("org/richfaces/renderkit/html/css/dropdownmenu.xcss"));
     }
@@ -180,7 +213,35 @@
         }
     }
 
+    
+    public void testRenderImages() throws Exception {
+        renderView();
+        InternetResourceBuilder builder = ResourceBuilderImpl.getInstance();
+        InternetResource resource = builder.getResource("org/richfaces/renderkit/html/css/dropdownmenu.xcss");
+        assertNotNull(resource);
+        String uri = "http:" + resource.getUri(facesContext, null);
+        Page page = webClient.getPage(uri);
+        assertTrue(page.getWebResponse().getStatusCode() == HttpServletResponse.SC_OK);
 
+        String[] resources = new String[] {
+                "org.richfaces.renderkit.html.images.background.MenuListBackground"                                 
+        };
+
+        for (int i = 0; i < resources.length; i++) {
+            resource = builder.getResource(resources[i]);
+            assertNotNull(resource);
+            uri = "http:" + resource.getUri(facesContext, null);
+            page = webClient.getPage(uri);
+            assertTrue(page.getWebResponse().getStatusCode() == HttpServletResponse.SC_OK);
+            ImageInfo info = new ImageInfo();
+            info.setInput(page.getWebResponse().getContentAsStream());
+            //image recognizable?
+            assertTrue(info.check());
+            assertEquals(ImageInfo.FORMAT_GIF, info.getFormat());
+        }
+    }
+    
+
 }
 
 




More information about the richfaces-svn-commits mailing list