Author: sergeyhalipov
Date: 2007-11-29 09:06:11 -0500 (Thu, 29 Nov 2007)
New Revision: 4347
Modified:
branches/3.1.x/ui/contextMenu/src/test/java/org/richfaces/component/ContextMenuComponentTest.java
Log:
http://jira.jboss.com/jira/browse/RF-1302
JUnit tests for context menu.
Modified:
branches/3.1.x/ui/contextMenu/src/test/java/org/richfaces/component/ContextMenuComponentTest.java
===================================================================
---
branches/3.1.x/ui/contextMenu/src/test/java/org/richfaces/component/ContextMenuComponentTest.java 2007-11-29
13:25:23 UTC (rev 4346)
+++
branches/3.1.x/ui/contextMenu/src/test/java/org/richfaces/component/ContextMenuComponentTest.java 2007-11-29
14:06:11 UTC (rev 4347)
@@ -28,6 +28,7 @@
import javax.faces.FacesException;
import javax.faces.component.UIOutput;
+import javax.faces.component.UIParameter;
import javax.faces.component.html.HtmlForm;
import javax.faces.context.FacesContext;
import javax.faces.el.EvaluationException;
@@ -37,6 +38,8 @@
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
import org.apache.commons.lang.StringUtils;
+import com.gargoylesoftware.htmlunit.html.DomNode;
+import com.gargoylesoftware.htmlunit.html.DomText;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlScript;
@@ -46,11 +49,14 @@
*/
public class ContextMenuComponentTest extends AbstractAjax4JsfTestCase {
private static Set javaScripts = new HashSet();
+ private static final String PARAM_SEQUENCE =
"{'name':'value'}";
private UIContextMenu menu = null;
private HtmlForm form = null;
private UIOutput output = null;
private UIMenuItem menuItem = null;
+ private UIParameter param = null;
+ private UIMenuGroup menuGroup = null;
static {
javaScripts.add("org.ajax4jsf.javascript.PrototypeScript");
@@ -75,6 +81,7 @@
application.addComponent(UIContextMenu.COMPONENT_TYPE,
"org.richfaces.component.html.ContextMenu");
application.addComponent(UIMenuItem.COMPONENT_TYPE,
"org.richfaces.component.html.HtmlMenuItem");
+ application.addComponent(UIMenuGroup.COMPONENT_TYPE,
"org.richfaces.component.html.HtmlMenuGroup");
form = new HtmlForm();
form.setId("form");
@@ -86,17 +93,29 @@
menu = (UIContextMenu)application.createComponent(UIContextMenu.COMPONENT_TYPE);
menu.setId("contextMenu");
+
+ param = new UIParameter();
+ param.setId("param");
+ param.setName("name");
+ param.setValue("value");
+ menu.getChildren().add(param);
+
+ menuGroup =
(UIMenuGroup)application.createComponent(UIMenuGroup.COMPONENT_TYPE);
+
output.getChildren().add(menu);
menuItem = (UIMenuItem)application.createComponent(UIMenuItem.COMPONENT_TYPE);
menuItem.setId("menuItem");
menuItem.setValue("value");
- menu.getChildren().add(menuItem);
+ menuGroup.getChildren().add(menuItem);
form.getChildren().add(output);
}
public void tearDown() throws Exception {
+ param = null;
+ menuItem = null;
+ menuGroup = null;
menu = null;
form = null;
output = null;
@@ -112,7 +131,7 @@
public void testRenderScript() throws Exception {
HtmlPage page = renderView();
assertNotNull(page);
- System.out.println(page.asXml());
+
List scripts =
page.getDocumentElement().getHtmlElementsByTagName("script");
int foundCount = 0;
for (Iterator it = scripts.iterator(); it.hasNext();) {
@@ -154,6 +173,16 @@
assertNotNull(script);
assertEquals("script", script.getNodeName());
+ DomNode scriptBody = (DomNode) script.getFirstChild();
+ assertNotNull(scriptBody);
+ assertTrue(scriptBody instanceof DomText);
+ String scriptText = scriptBody.asText();
+ assertNotNull(scriptText);
+ scriptText = scriptText.replaceAll("\\s", "");
+
+ assertTrue(scriptText.startsWith("newRichfaces.ContextMenu"));
+ assertTrue(scriptText.contains(PARAM_SEQUENCE));
+
assertNull(script.getNextSibling());
menu.setEvent(null);