[richfaces-svn-commits] JBoss Rich Faces SVN: r423 - trunk/richfaces/togglePanel/src/test/java/org/richfaces/component.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Sat Apr 14 10:21:20 EDT 2007
Author: F.antonov
Date: 2007-04-14 10:21:20 -0400 (Sat, 14 Apr 2007)
New Revision: 423
Modified:
trunk/richfaces/togglePanel/src/test/java/org/richfaces/component/TogglePanelComponentTest.java
Log:
TogglePanel test cases development.
Modified: trunk/richfaces/togglePanel/src/test/java/org/richfaces/component/TogglePanelComponentTest.java
===================================================================
--- trunk/richfaces/togglePanel/src/test/java/org/richfaces/component/TogglePanelComponentTest.java 2007-04-14 14:00:05 UTC (rev 422)
+++ trunk/richfaces/togglePanel/src/test/java/org/richfaces/component/TogglePanelComponentTest.java 2007-04-14 14:21:20 UTC (rev 423)
@@ -19,7 +19,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package org.richfaces.component;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
@@ -28,11 +27,19 @@
import org.richfaces.event.SwitchablePanelSwitchEvent;
import org.richfaces.component.UISwitchablePanel;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+import org.ajax4jsf.tests.MockViewRoot;
+import org.apache.commons.collections.Buffer;
import org.apache.commons.lang.StringUtils;
+
+import javax.faces.FacesException;
import javax.faces.component.UIComponent;
+import javax.faces.component.UIComponentBase;
import javax.faces.component.UIOutput;
import javax.faces.component.html.HtmlForm;
import javax.faces.event.ActionEvent;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.PhaseId;
+
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -51,45 +58,53 @@
}
private UITogglePanel togglePanel;
+
private UIToggleControl toggleControl;
+
private UIComponent form;
+
private UIOutput a;
+
private UIOutput b;
+
private UIOutput c;
/**
* Create the test case
- *
- * @param testName name of the test case
+ *
+ * @param testName
+ * name of the test case
*/
public TogglePanelComponentTest(String testName) {
super(testName);
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#setUp()
*/
public void setUp() throws Exception {
super.setUp();
-
- a = (UIOutput)application.createComponent(UIOutput.COMPONENT_TYPE);
+
+ a = (UIOutput) application.createComponent(UIOutput.COMPONENT_TYPE);
a.setId("a_output");
a.setValue("a");
- b = (UIOutput)application.createComponent(UIOutput.COMPONENT_TYPE);
+ b = (UIOutput) application.createComponent(UIOutput.COMPONENT_TYPE);
b.setId("b_output");
b.setValue("b");
- c = (UIOutput)application.createComponent(UIOutput.COMPONENT_TYPE);
+ c = (UIOutput) application.createComponent(UIOutput.COMPONENT_TYPE);
c.setId("c_output");
c.setValue("c");
-
-
+
form = new HtmlForm();
form.setId("form");
facesContext.getViewRoot().getChildren().add(form);
- togglePanel = (UITogglePanel)application.createComponent("org.richfaces.TogglePanel");
+ togglePanel = (UITogglePanel) application
+ .createComponent("org.richfaces.TogglePanel");
togglePanel.setId("TogglePanel");
togglePanel.getFacets().put("a", a);
togglePanel.getFacets().put("b", b);
@@ -99,46 +114,51 @@
form.getChildren().add(togglePanel);
- toggleControl = (UIToggleControl)application.createComponent("org.richfaces.ToggleControl");
+ toggleControl = (UIToggleControl) application
+ .createComponent("org.richfaces.ToggleControl");
toggleControl.setId("ToggleControl");
- toggleControl.setFor(togglePanel.getId());
+ toggleControl.setFor(togglePanel.getId());
form.getChildren().add(toggleControl);
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#tearDown()
*/
public void tearDown() throws Exception {
super.tearDown();
togglePanel = null;
toggleControl = null;
- form = null;
+ form = null;
}
- /**
+ /**
* Test component rendering
- *
+ *
* @throws Exception
*/
-
+
public void testRender() throws Exception {
HtmlPage page = renderView();
assertNotNull(page);
- //System.out.println(page.asXml());
+ // System.out.println(page.asXml());
- HtmlElement div = page.getHtmlElementById(togglePanel.getClientId(facesContext));
+ HtmlElement div = page.getHtmlElementById(togglePanel
+ .getClientId(facesContext));
assertNotNull(div);
assertEquals("div", div.getNodeName());
-
- HtmlElement div_control = page.getHtmlElementById(toggleControl.getClientId(facesContext));
+ HtmlElement div_control = page.getHtmlElementById(toggleControl
+ .getClientId(facesContext));
String classAttr = div_control.getAttributeValue("class");
assertTrue(classAttr.contains("dr-tglctrl"));
assertTrue(classAttr.contains("rich-tglctrl"));
}
+
/**
* Test style rendering
- *
+ *
* @throws Exception
*/
public void testRenderStyle() throws Exception {
@@ -148,17 +168,20 @@
assertEquals(1, links.size());
HtmlElement link = (HtmlElement) links.get(0);
- assertTrue(link.getAttributeValue("href").contains("org/richfaces/renderkit/html/css/toggleControl.xcss"));
+ assertTrue(link.getAttributeValue("href").contains(
+ "org/richfaces/renderkit/html/css/toggleControl.xcss"));
}
+
/**
* Test script rendering
- *
+ *
* @throws Exception
- */
+ */
public void testRenderScript() throws Exception {
HtmlPage page = renderView();
assertNotNull(page);
- List scripts = page.getDocumentElement().getHtmlElementsByTagName("script");
+ List scripts = page.getDocumentElement().getHtmlElementsByTagName(
+ "script");
for (Iterator it = scripts.iterator(); it.hasNext();) {
HtmlScript item = (HtmlScript) it.next();
@@ -179,62 +202,157 @@
}
}
}
-
+
public void testSwitch() throws Exception {
HtmlPage page = renderView();
- System.out.println(page.asXml());
+ // System.out.println(page.asXml());
togglePanel.setValue("a");
- togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,null, toggleControl));
- assertFalse(((String)togglePanel.getValue()).equals("a"));
- assertTrue(((String)togglePanel.getValue()).equals("b"));
-
+ togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel, null,
+ toggleControl));
+ assertFalse(((String) togglePanel.getValue()).equals("a"));
+ assertTrue(((String) togglePanel.getValue()).equals("b"));
+
toggleControl.setSwitchToState("a");
- togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,"null", toggleControl));
- assertFalse(((String)togglePanel.getValue()).equals("b"));
- assertTrue(((String)togglePanel.getValue()).equals("a"));
-
+ togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,
+ "null", toggleControl));
+ assertFalse(((String) togglePanel.getValue()).equals("b"));
+ assertTrue(((String) togglePanel.getValue()).equals("a"));
+
toggleControl.setSwitchToState(null);
togglePanel.setStateOrder("c,b,a");
- togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,"null", toggleControl));
- assertFalse(((String)togglePanel.getValue()).equals("a"));
- assertTrue(((String)togglePanel.getValue()).equals("c"));
+ togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,
+ "null", toggleControl));
+ assertFalse(((String) togglePanel.getValue()).equals("a"));
+ assertTrue(((String) togglePanel.getValue()).equals("c"));
-
togglePanel.setValue(null);
togglePanel.setStateOrder("c,b,a");
- togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,"null", toggleControl));
- assertTrue(((String)togglePanel.getValue()).equals("c"));
-
+ togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,
+ "null", toggleControl));
+ assertTrue(((String) togglePanel.getValue()).equals("c"));
- toggleControl.setSwitchToState("d");
+ toggleControl.setSwitchToState("d");
try {
- togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,"null", toggleControl));
+ togglePanel.broadcast(new SwitchablePanelSwitchEvent(togglePanel,
+ "null", toggleControl));
assertTrue(false);
- } catch(Exception ex) {
- }
- }
+ } catch (Exception ex) {
+ }
+ }
public void testgetPanel() throws Exception {
- assertTrue(toggleControl.getPanel().getId().equals(togglePanel.getId()));
- toggleControl.setFor("xxx");
+ assertTrue(toggleControl.getPanel().getId().equals(togglePanel.getId()));
+ toggleControl.setFor("xxx");
try {
- toggleControl.getPanel();
+ toggleControl.getPanel();
assertTrue(false);
- } catch(Exception ex) {
- }
- toggleControl.setFor(null);
+ } catch (Exception ex) {
+ }
+ toggleControl.setFor(null);
try {
- toggleControl.getPanel();
+ toggleControl.getPanel();
assertTrue(false);
- } catch(Exception ex) {
- }
+ } catch (Exception ex) {
+ }
+ }
-
+ /**
+ * Test for UITogglePanel & UIToggleControl classes methods.
+ *
+ * @throws Exception
+ */
+ public void testUIComponents() throws Exception {
+
+ togglePanel.setStateOrder("A,B,Y,B,C");
+ List stateOrderList = togglePanel.getStateOrderList();
+ assertNotNull(stateOrderList);
+ assertEquals(5, stateOrderList.size());
+
+ togglePanel.setStateOrder(null);
+ stateOrderList = togglePanel.getStateOrderList();
+ assertNotNull(stateOrderList);
+ assertEquals(0, stateOrderList.size());
+
+ Object switchValue = togglePanel.convertSwitchValue(new UIOutput(),
+ "ABYBC");
+ assertEquals("ABYBC", (String) switchValue);
+
+ toggleControl.setPanelId(togglePanel.getClientId(facesContext));
+ toggleControl.setReRender(togglePanel.getClientId(facesContext));
+ assertEquals(togglePanel.getClientId(facesContext), toggleControl
+ .getReRender());
+
+ toggleControl.setFor(null);
+ try {
+ toggleControl.getPanel();
+ assertTrue(false);
+ } catch (FacesException e) {
+ }
}
-
-}
+ /**
+ * Test for TogglePanel in "client" mode.
+ *
+ * @throws Exception
+ */
+ public void testTogglePanelInClientSwichMode() throws Exception {
+ togglePanel.setSwitchType(UITogglePanel.CLIENT_METHOD);
+ toggleControl.getAttributes().put("onclick", "someOnClick");
+ HtmlPage page = renderView();
+ assertNotNull(page);
+ System.out.println(page.asXml());
+
+ HtmlElement div = page.getHtmlElementById(togglePanel
+ .getClientId(facesContext));
+ assertNotNull(div);
+ assertEquals("div", div.getNodeName());
+
+ HtmlElement anchor = (HtmlElement) div.getHtmlElementById(toggleControl
+ .getClientId(facesContext));
+ assertNotNull(anchor);
+ String classAttr = anchor.getAttributeValue("onclick");
+ assertTrue(classAttr.contains("someOnClick;"));
+
+ List divs = div.getHtmlElementsByTagName("div");
+ assertTrue(divs.size() > 0);
+ assertEquals(togglePanel.getStateOrderList().size() + 1, 4);
+ div = (HtmlElement) divs.get(0);
+ assertNotNull(div);
+ classAttr = div.getAttributeValue("style");
+ assertTrue(classAttr.contains("display:"));
+ div = (HtmlElement) divs.get(togglePanel.getStateOrderList().size());
+ assertNotNull(div);
+ classAttr = div.getAttributeValue("style");
+ assertTrue(classAttr.contains("display: none;"));
+ }
+
+ /**
+ * Test "doDecode" method of TogglePanel. Component in "client" mode.
+ * Immediate is true.
+ */
+ public void testTogglePanelDoDecodeClientMode() throws Exception {
+
+ togglePanel.setImmediate(true);
+ togglePanel.setSwitchType(UITogglePanel.CLIENT_METHOD);
+
+ externalContext.getRequestParameterMap().put(
+ togglePanel.getClientId(facesContext), "ABYBC");
+ togglePanel.decode(facesContext);
+
+ MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
+ Buffer events = mockViewRoot.getEventsQueue(facesContext,
+ PhaseId.APPLY_REQUEST_VALUES);
+ assertNotNull(events);
+ assertEquals(1, events.size());
+
+ FacesEvent event = (FacesEvent) events.iterator().next();
+ assertTrue(event instanceof SwitchablePanelSwitchEvent);
+ SwitchablePanelSwitchEvent switchEvent = (SwitchablePanelSwitchEvent) event;
+ assertEquals(switchEvent.getValue(), "ABYBC");
+ }
+
+}
More information about the richfaces-svn-commits
mailing list