[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