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

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Apr 12 05:33:50 EDT 2007


Author: F.antonov
Date: 2007-04-12 05:33:50 -0400 (Thu, 12 Apr 2007)
New Revision: 380

Modified:
   trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java
Log:
MenuItem test cases development.

Modified: trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java
===================================================================
--- trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java	2007-04-12 09:22:43 UTC (rev 379)
+++ trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java	2007-04-12 09:33:50 UTC (rev 380)
@@ -31,228 +31,248 @@
 import javax.faces.component.html.HtmlForm;
 import javax.faces.component.html.HtmlOutputText;
 import javax.faces.event.PhaseId;
+import javax.servlet.http.HttpServletResponse;
 
 import org.richfaces.component.html.HtmlMenuItem;
 
+import com.gargoylesoftware.htmlunit.Page;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 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.ajax4jsf.tests.MockViewRoot;
 
 import org.apache.commons.collections.Buffer;
 import org.apache.commons.lang.StringUtils;
 
-
-
 /**
  * Unit test for MenuItem Component.
  */
-public class MenuItemComponentTest 
-    extends AbstractAjax4JsfTestCase
-{
-	private static Set javaScripts = new HashSet();
-	
-	static {		
+public class MenuItemComponentTest extends AbstractAjax4JsfTestCase {
+    private static Set javaScripts = new HashSet();
+
+    static {
         javaScripts.add("prototype.js");
         javaScripts.add("AjaxScript");
         javaScripts.add("CommandScript");
-	}
-	
-	private UIMenuItem menuItem;
-	private UIForm form;
-	
+    }
+
+    private UIMenuItem menuItem;
+
+    private UIForm form;
+
     /**
      * Create the test case
-     *
-     * @param testName name of the test case
+     * 
+     * @param testName
+     *            name of the test case
      */
-    public MenuItemComponentTest( String testName )
-    {
-        super( testName );
+    public MenuItemComponentTest(String testName) {
+        super(testName);
     }
-    
+
     public void setUp() throws Exception {
-    	super.setUp();
-    	
-    	form = new HtmlForm();
+        super.setUp();
+
+        form = new HtmlForm();
         form.setId("form");
         facesContext.getViewRoot().getChildren().add(form);
 
-        menuItem = (UIMenuItem) application.createComponent(HtmlMenuItem.COMPONENT_TYPE);
-    	menuItem.setId("menuItem");
-    	menuItem.setValue("Menu Item");
-    	
-		form.getChildren().add(menuItem);
+        menuItem = (UIMenuItem) application
+                .createComponent(HtmlMenuItem.COMPONENT_TYPE);
+        menuItem.setId("menuItem");
+        menuItem.setValue("Menu Item");
+
+        form.getChildren().add(menuItem);
     }
 
     public void tearDown() throws Exception {
-    	super.tearDown();
-    	menuItem = null;
-    	form = null;
+        super.tearDown();
+        menuItem = null;
+        form = null;
     }
 
     /**
      * MenuItem rendering test.
      */
-    public void testMenuItemRender() throws Exception
-    {
-    	menuItem.setMode(MenuComponent.MODE_NONE);
-    	HtmlPage page = renderView();
+    public void testMenuItemRender() throws Exception {
+        menuItem.setMode(MenuComponent.MODE_NONE);
+        HtmlPage page = renderView();
         assertNotNull(page);
-        //System.out.println(page.asXml());
-        HtmlElement div = page.getHtmlElementById(menuItem.getClientId(facesContext));
+        // System.out.println(page.asXml());
+        HtmlElement div = page.getHtmlElementById(menuItem
+                .getClientId(facesContext));
         assertNotNull(div);
         assertEquals("div", div.getNodeName());
     }
-    
+
     /**
      * MenuItem facet test.
      */
-    public void testMenuItemIconFacet() throws Exception
-    {
-    	UIComponent text = createComponent(HtmlOutputText.COMPONENT_TYPE, HtmlOutputText.class.getName(), null, null , null);
-    	menuItem.getFacets().put("iconDisabled", text);
-    	HtmlPage page = renderView();
+    public void testMenuItemIconFacet() throws Exception {
+        UIComponent text = createComponent(HtmlOutputText.COMPONENT_TYPE,
+                HtmlOutputText.class.getName(), null, null, null);
+        menuItem.getFacets().put("iconDisabled", text);
+        HtmlPage page = renderView();
         assertNotNull(page);
-        //System.out.println(page.asXml());
-        HtmlElement span = page.getHtmlElementById(menuItem.getClientId(facesContext) + ":icon");
+        // System.out.println(page.asXml());
+        HtmlElement span = page.getHtmlElementById(menuItem
+                .getClientId(facesContext)
+                + ":icon");
         assertEquals("span", span.getNodeName());
         assertNotNull(span);
     }
-    
+
     /**
      * Test for MenuItem disabled component.
      */
-    public void testDisabledMenuItem() throws Exception
-    {
-    	menuItem.setDisabled(true);
-    	menuItem.getAttributes().put("iconDisabled", "menuItemIconDisabled");
-    	HtmlPage page = renderView();
+    public void testDisabledMenuItem() throws Exception {
+        menuItem.setDisabled(true);
+        menuItem.getAttributes().put("iconDisabled", "menuItemIconDisabled");
+        HtmlPage page = renderView();
         assertNotNull(page);
-        System.out.println(page.asXml());
-        
-        HtmlElement span = page.getHtmlElementById(menuItem.getClientId(facesContext) + ":disabled");
+        // System.out.println(page.asXml());
+
+        HtmlElement span = page.getHtmlElementById(menuItem
+                .getClientId(facesContext)
+                + ":disabled");
         assertNotNull(span);
-        assertEquals("span", span.getNodeName());        
+        assertEquals("span", span.getNodeName());
         String classAttr = span.getAttributeValue("class");
-        assertTrue(classAttr.contains("dr-menu-label dr-menu-label-disabled rich-menu-item-label rich-menu-item-label-disabled"));        
-        
-        span = page.getHtmlElementById(menuItem.getClientId(facesContext) + ":icon");
+        assertTrue(classAttr
+                .contains("dr-menu-label dr-menu-label-disabled rich-menu-item-label rich-menu-item-label-disabled"));
+
+        span = page.getHtmlElementById(menuItem.getClientId(facesContext)
+                + ":icon");
         assertNotNull(span);
-        assertEquals("span", span.getNodeName());        
+        assertEquals("span", span.getNodeName());
         classAttr = span.getAttributeValue("class");
-        assertTrue(classAttr.contains("dr-menu-icon rich-menu-item-icon dr-menu-icon-disabled rich-menu-item-icon-disabled"));
-        
-        HtmlElement div = page.getHtmlElementById(menuItem.getClientId(facesContext));
+        assertTrue(classAttr
+                .contains("dr-menu-icon rich-menu-item-icon dr-menu-icon-disabled rich-menu-item-icon-disabled"));
+
+        HtmlElement div = page.getHtmlElementById(menuItem
+                .getClientId(facesContext));
         assertNotNull(div);
-        assertEquals("div", div.getNodeName());        
+        assertEquals("div", div.getNodeName());
         classAttr = div.getAttributeValue("class");
-        assertTrue(classAttr.contains("dr-menu-item dr-menu-item-disabled rich-menu-item rich-menu-item-disabled"));
+        assertTrue(classAttr
+                .contains("dr-menu-item dr-menu-item-disabled rich-menu-item rich-menu-item-disabled"));
         classAttr = div.getAttributeValue("onmouseout");
         assertEquals(0, classAttr.length());
         classAttr = div.getAttributeValue("onmouseover");
         assertEquals(0, classAttr.length());
     }
-    
+
     /**
      * Test for enabled MenuItem component in "server" mode.
-     */    
-    public void testEnabledMenuItemServerMode() throws Exception
-    {
-    	assertEquals(false, menuItem.isDisabled());
-    	menuItem.getAttributes().put("iconClass", "iconClass");
-    	menuItem.setMode(MenuComponent.MODE_SERVER);
-    	menuItem.getAttributes().put("target", "target");
-    	menuItem.getAttributes().put("selectStyle", "menuItemSelectStyle");
-    	HtmlPage page = renderView();
+     */
+    public void testEnabledMenuItemServerMode() throws Exception {
+        assertEquals(false, menuItem.isDisabled());
+        menuItem.getAttributes().put("iconClass", "iconClass");
+        menuItem.setMode(MenuComponent.MODE_SERVER);
+        menuItem.getAttributes().put("target", "target");
+        menuItem.getAttributes().put("selectStyle", "menuItemSelectStyle");
+        HtmlPage page = renderView();
         assertNotNull(page);
-        System.out.println(page.asXml());
-        
-        HtmlElement anchor = page.getHtmlElementById(menuItem.getClientId(facesContext) + ":anchor");
+        // System.out.println(page.asXml());
+
+        HtmlElement anchor = page.getHtmlElementById(menuItem
+                .getClientId(facesContext)
+                + ":anchor");
         assertNotNull(anchor);
-        assertEquals("a", anchor.getNodeName());        
+        assertEquals("a", anchor.getNodeName());
         String classAttr = anchor.getAttributeValue("class");
         assertTrue(classAttr.contains("dr-menu-label rich-menu-item-label"));
-        
-        HtmlElement span = page.getHtmlElementById(menuItem.getClientId(facesContext) + ":icon");
+
+        HtmlElement span = page.getHtmlElementById(menuItem
+                .getClientId(facesContext)
+                + ":icon");
         assertNotNull(span);
-        assertEquals("span", span.getNodeName());        
+        assertEquals("span", span.getNodeName());
         classAttr = span.getAttributeValue("class");
         assertTrue(classAttr.contains("dr-menu-icon rich-menu-item-icon"));
-        assertTrue(classAttr.contains((String) menuItem.getAttributes().get("iconClass")));
-        
-        HtmlElement div = page.getHtmlElementById(menuItem.getClientId(facesContext));
+        assertTrue(classAttr.contains((String) menuItem.getAttributes().get(
+                "iconClass")));
+
+        HtmlElement div = page.getHtmlElementById(menuItem
+                .getClientId(facesContext));
         assertNotNull(div);
-        assertEquals("div", div.getNodeName());        
+        assertEquals("div", div.getNodeName());
         classAttr = div.getAttributeValue("class");
-        assertTrue(classAttr.contains("dr-menu-item dr-menu-item-enabled rich-menu-item rich-menu-item-enabled"));        
+        assertTrue(classAttr
+                .contains("dr-menu-item dr-menu-item-enabled rich-menu-item rich-menu-item-enabled"));
         classAttr = div.getAttributeValue("onclick");
         assertNotNull(classAttr);
         assertTrue(classAttr.length() > 0);
         classAttr = div.getAttributeValue("onmouseover");
-        assertTrue(classAttr.contains("menuItemSelectStyle")); 
+        assertTrue(classAttr.contains("menuItemSelectStyle"));
     }
-    
+
     /**
      * Test for enabled MenuItem component in "ajax" mode.
-     */    
-    public void testEnabledMenuItemAJAXMode() throws Exception
-    {
-    	menuItem.setMode(MenuComponent.MODE_AJAX);
-    	menuItem.getAttributes().put("style", "menuItemStyle");
-    	HtmlPage page = renderView();
+     */
+    public void testEnabledMenuItemAJAXMode() throws Exception {
+        menuItem.setMode(MenuComponent.MODE_AJAX);
+        menuItem.getAttributes().put("style", "menuItemStyle");
+        HtmlPage page = renderView();
         assertNotNull(page);
-        //System.out.println(page.asXml());
-        
-        HtmlElement div = page.getHtmlElementById(menuItem.getClientId(facesContext));
-        assertNotNull(div);                
+        // System.out.println(page.asXml());
+
+        HtmlElement div = page.getHtmlElementById(menuItem
+                .getClientId(facesContext));
+        assertNotNull(div);
         String classAttr = div.getAttributeValue("onclick");
         assertTrue(classAttr.contains("AJAX"));
         classAttr = div.getAttributeValue("style");
-        assertTrue(classAttr.contains("menuItemStyle")); 
+        assertTrue(classAttr.contains("menuItemStyle"));
     }
-    
+
     /**
      * Test for enabled MenuItem component in "none" mode.
-     */    
-    public void testEnabledMenuItemNoneMode() throws Exception
-    {
-    	menuItem.setMode(MenuComponent.MODE_NONE);
-    	HtmlPage page = renderView();
+     */
+    public void testEnabledMenuItemNoneMode() throws Exception {
+        menuItem.setMode(MenuComponent.MODE_NONE);
+        HtmlPage page = renderView();
         assertNotNull(page);
-        //System.out.println(page.asXml());
-        
-        HtmlElement div = page.getHtmlElementById(menuItem.getClientId(facesContext));
+        // System.out.println(page.asXml());
+
+        HtmlElement div = page.getHtmlElementById(menuItem
+                .getClientId(facesContext));
         assertNotNull(div);
         String classAttr = div.getAttributeValue("onclick");
         assertNotNull(classAttr);
-        assertTrue(classAttr.length() > 0);         
+        assertTrue(classAttr.length() > 0);
     }
-    
+
     /**
      * CSS link test.
-     */    
+     */
     public void testRenderStyle() throws Exception {
         HtmlPage page = renderView();
         assertNotNull(page);
         List links = page.getDocumentElement().getHtmlElementsByTagName("link");
-        //Assert.assertEquals(1, links.size());
+        // assertEquals(1, links.size());
         assertNotNull(links);
         HtmlElement link = (HtmlElement) links.get(0);
-        assertTrue(link.getAttributeValue("href").contains("org/richfaces/renderkit/html/css/menucomponents.xcss"));
+        assertTrue(link.getAttributeValue("href").contains(
+                "org/richfaces/renderkit/html/css/menucomponents.xcss"));
     }
-    
+
     /**
      * Scripts link test.
-     */    
+     */
     public void testRenderScript() throws Exception {
-        HtmlPage page = renderView();        
+        HtmlPage page = renderView();
         assertNotNull(page);
-        System.out.println(page.asXml());
-        
-        List scripts = page.getDocumentElement().getHtmlElementsByTagName("script");
+        // System.out.println(page.asXml());
+
+        List scripts = page.getDocumentElement().getHtmlElementsByTagName(
+                "script");
         for (Iterator it = scripts.iterator(); it.hasNext();) {
             HtmlScript item = (HtmlScript) it.next();
             String srcAttr = item.getSrcAttribute();
@@ -272,39 +292,62 @@
             }
         }
     }
-    
+
     /**
      * DoDecode method trst. Component in "AJAX" mode. Immediate is true.
-     */    
+     */
     public void testMenuItemDoDecodeAJAXMode() throws Exception {
-    	
-    	menuItem.setImmediate(true);
-    	menuItem.setMode(MenuComponent.MODE_AJAX);
-    	    	
-		externalContext.getRequestParameterMap().put(menuItem.getClientId(facesContext), "Action");		
-		menuItem.decode(facesContext);
-		
-		MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
-		Buffer events = mockViewRoot.getEventsQueue(facesContext, PhaseId.APPLY_REQUEST_VALUES);
-		assertNotNull(events);
-		assertEquals(1, events.size());
+
+        menuItem.setImmediate(true);
+        menuItem.setMode(MenuComponent.MODE_AJAX);
+
+        externalContext.getRequestParameterMap().put(
+                menuItem.getClientId(facesContext), "Action");
+        menuItem.decode(facesContext);
+
+        MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
+        Buffer events = mockViewRoot.getEventsQueue(facesContext,
+                PhaseId.APPLY_REQUEST_VALUES);
+        assertNotNull(events);
+        assertEquals(1, events.size());
     }
-    
+
     /**
      * DoDecode method trst. Component in "server" mode. Immediate is false.
-     */    
+     */
     public void testMenuItemDoDecodeServerMode() throws Exception {
-    	
-    	menuItem.setImmediate(false);
-    	menuItem.setMode(MenuComponent.MODE_SERVER);
-    	    	
-		externalContext.getRequestParameterMap().put(menuItem.getClientId(facesContext) + ":hidden", "Action");		
-		menuItem.decode(facesContext);
-		
-		MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
-		Buffer events = mockViewRoot.getEventsQueue(facesContext, PhaseId.INVOKE_APPLICATION);
-		assertNotNull(events);
-		assertEquals(1, events.size());
+
+        menuItem.setImmediate(false);
+        menuItem.setMode(MenuComponent.MODE_SERVER);
+
+        externalContext.getRequestParameterMap().put(
+                menuItem.getClientId(facesContext) + ":hidden", "Action");
+        menuItem.decode(facesContext);
+
+        MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
+        Buffer events = mockViewRoot.getEventsQueue(facesContext,
+                PhaseId.INVOKE_APPLICATION);
+        assertNotNull(events);
+        assertEquals(1, events.size());
     }
-    
+
+    /**
+     * Test accessibility of static image resource.
+     */
+    public void testMenuItemDefaultIconImage() throws Exception {
+
+        renderView();
+        InternetResourceBuilder builder = ResourceBuilderImpl.getInstance();
+        String iconImage = "org/richfaces/renderkit/html/images/spacer.gif";
+        InternetResource resource = builder.getResource(iconImage);
+        assertNotNull(resource);
+        String uri = "http:" + resource.getUri(facesContext, null);
+        Page page = webClient.getPage(uri);
+        assertTrue(page.getWebResponse().getStatusCode() == HttpServletResponse.SC_OK);
+        ImageInfo info = new ImageInfo();
+        info.setInput(page.getWebResponse().getContentAsStream());
+        assertTrue(info.check());
+        assertEquals(ImageInfo.FORMAT_GIF, info.getFormat());
+    }
+
 }




More information about the richfaces-svn-commits mailing list