[richfaces-svn-commits] JBoss Rich Faces SVN: r433 - in trunk/richfaces/togglePanel/src/test/java/org/richfaces: component and 2 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Wed Apr 18 07:12:28 EDT 2007
Author: F.antonov
Date: 2007-04-18 07:12:28 -0400 (Wed, 18 Apr 2007)
New Revision: 433
Added:
trunk/richfaces/togglePanel/src/test/java/org/richfaces/renderkit/
trunk/richfaces/togglePanel/src/test/java/org/richfaces/renderkit/html/
trunk/richfaces/togglePanel/src/test/java/org/richfaces/renderkit/html/TogglePanelRenderersTest.java
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-16 22:42:15 UTC (rev 432)
+++ trunk/richfaces/togglePanel/src/test/java/org/richfaces/component/TogglePanelComponentTest.java 2007-04-18 11:12:28 UTC (rev 433)
@@ -53,7 +53,7 @@
static {
javaScripts.add("org.ajax4jsf.framework.ajax.AjaxScript");
- javaScripts.add("prototype.js");
+ javaScripts.add("PrototypeScript");
javaScripts.add("scripts/togglePanel.js");
}
@@ -241,22 +241,6 @@
}
}
- public void testgetPanel() throws Exception {
- assertTrue(toggleControl.getPanel().getId().equals(togglePanel.getId()));
- toggleControl.setFor("xxx");
- try {
- toggleControl.getPanel();
- assertTrue(false);
- } catch (Exception ex) {
- }
- toggleControl.setFor(null);
- try {
- toggleControl.getPanel();
- assertTrue(false);
- } catch (Exception ex) {
- }
- }
-
/**
* Test for UITogglePanel & UIToggleControl classes methods.
*
@@ -304,7 +288,7 @@
HtmlPage page = renderView();
assertNotNull(page);
- System.out.println(page.asXml());
+ // System.out.println(page.asXml());
HtmlElement div = page.getHtmlElementById(togglePanel
.getClientId(facesContext));
@@ -331,28 +315,105 @@
}
/**
- * Test "doDecode" method of TogglePanel. Component in "client" mode.
- * Immediate is true.
+ * Test for TogglePanel components "doDecode" method.
*/
- public void testTogglePanelDoDecodeClientMode() throws Exception {
+ public void testDoDecodeClientMode() throws Exception {
- togglePanel.setImmediate(true);
+ togglePanel.setImmediate(true);
togglePanel.setSwitchType(UITogglePanel.CLIENT_METHOD);
externalContext.getRequestParameterMap().put(
togglePanel.getClientId(facesContext), "ABYBC");
togglePanel.decode(facesContext);
+ externalContext.getRequestParameterMap().put(
+ toggleControl.getClientId(facesContext), "ABYBC");
+ toggleControl.decode(facesContext);
+
MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
Buffer events = mockViewRoot.getEventsQueue(facesContext,
PhaseId.APPLY_REQUEST_VALUES);
assertNotNull(events);
- assertEquals(1, events.size());
+ assertEquals(2, events.size());
FacesEvent event = (FacesEvent) events.iterator().next();
assertTrue(event instanceof SwitchablePanelSwitchEvent);
SwitchablePanelSwitchEvent switchEvent = (SwitchablePanelSwitchEvent) event;
assertEquals(switchEvent.getValue(), "ABYBC");
+
+ events = mockViewRoot.getEventsQueue(facesContext,
+ PhaseId.INVOKE_APPLICATION);
+ assertNotNull(events);
+ assertEquals(1, events.size());
+
+ event = (FacesEvent) events.iterator().next();
+
+ assertTrue(event instanceof ActionEvent);
+ ActionEvent actionEvent = (ActionEvent) event;
+ assertEquals(actionEvent.getSource(), toggleControl);
+
}
+ /**
+ * Test "doDecode" method. No events must be generated.
+ */
+ public void testDoDecodeNoEvents() throws Exception {
+
+ togglePanel.setSwitchType(UITogglePanel.CLIENT_METHOD);
+
+ externalContext.getRequestParameterMap().put("ABYBC", "ABYBC");
+ toggleControl.decode(facesContext);
+ togglePanel.decode(facesContext);
+
+ MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
+ Buffer events = mockViewRoot.getEventsQueue(facesContext,
+ PhaseId.INVOKE_APPLICATION);
+ assertNotNull(events);
+ assertEquals(0, events.size());
+
+ togglePanel.setSwitchType(UITogglePanel.AJAX_METHOD);
+ externalContext.getRequestParameterMap().put(
+ togglePanel.getClientId(facesContext), "ABYBC");
+ externalContext.getRequestParameterMap().put(
+ toggleControl.getClientId(facesContext), "ABYBC");
+ toggleControl.decode(facesContext);
+ togglePanel.decode(facesContext);
+
+ mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
+ events = mockViewRoot.getEventsQueue(facesContext,
+ PhaseId.INVOKE_APPLICATION);
+ assertNotNull(events);
+ assertEquals(0, events.size());
+ }
+
+ /**
+ * Test for UIToggleControl getPanel method.
+ */
+ public void testUIToggleControlGetPanelMethod() throws Exception {
+
+ assertEquals(toggleControl.getPanel(), togglePanel);
+
+ toggleControl.setFor("ABYBC");
+ try {
+ UIComponent targetComponent = toggleControl.getPanel();
+ assertTrue(false);
+ } catch (Exception e) {
+ assertTrue(e instanceof FacesException);
+ }
+
+ toggleControl.setFor(null);
+ togglePanel.getChildren().add(a);
+ a.getChildren().add(b);
+ b.getChildren().add(toggleControl);
+ assertEquals(toggleControl.getPanel(), togglePanel);
+
+ togglePanel.getChildren().remove(a);
+ try {
+ UIComponent targetComponent = toggleControl.getPanel();
+ assertTrue(false);
+ } catch (Exception e) {
+ assertTrue(e instanceof FacesException);
+ }
+ }
+
}
Added: trunk/richfaces/togglePanel/src/test/java/org/richfaces/renderkit/html/TogglePanelRenderersTest.java
===================================================================
--- trunk/richfaces/togglePanel/src/test/java/org/richfaces/renderkit/html/TogglePanelRenderersTest.java (rev 0)
+++ trunk/richfaces/togglePanel/src/test/java/org/richfaces/renderkit/html/TogglePanelRenderersTest.java 2007-04-18 11:12:28 UTC (rev 433)
@@ -0,0 +1,152 @@
+/**
+ * License Agreement.
+ *
+ * JBoss RichFaces 3.0 - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.richfaces.renderkit.html;
+
+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.context.FacesContext;
+
+import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+import org.richfaces.component.UIToggleControl;
+import org.richfaces.component.UITogglePanel;
+
+/**
+ * Unit test for TogglePanel renderers.
+ */
+public class TogglePanelRenderersTest extends AbstractAjax4JsfTestCase {
+
+ private UITogglePanel togglePanel;
+
+ private UIToggleControl toggleControl;
+
+ private UIComponent form;
+
+ private UIOutput a;
+
+ private UIOutput b;
+
+ private static ToggleControlRenderer controlRenderer = new ToggleControlRenderer();
+
+ private static TogglePanelRenderer panelRenderer = new TogglePanelRenderer();
+
+ /**
+ * Create the test case
+ *
+ * @param testName
+ * name of the test case
+ */
+ public TogglePanelRenderersTest(String testName) {
+ super(testName);
+ }
+
+ public void setUp() throws Exception {
+ super.setUp();
+
+ a = (UIOutput) application.createComponent(UIOutput.COMPONENT_TYPE);
+ a.setId("a_output");
+ a.setValue("a");
+
+ b = (UIOutput) application.createComponent(UIOutput.COMPONENT_TYPE);
+ b.setId("b_output");
+ b.setValue("b");
+
+ form = new HtmlForm();
+ form.setId("form");
+ facesContext.getViewRoot().getChildren().add(form);
+
+ togglePanel = (UITogglePanel) application
+ .createComponent("org.richfaces.TogglePanel");
+ togglePanel.setId("TogglePanel");
+ togglePanel.getFacets().put("a", a);
+ togglePanel.getFacets().put("b", b);
+ togglePanel.setStateOrder("a,b");
+ togglePanel.setInitialState("a");
+
+ form.getChildren().add(togglePanel);
+
+ toggleControl = (UIToggleControl) application
+ .createComponent("org.richfaces.ToggleControl");
+ toggleControl.setId("ToggleControl");
+ toggleControl.setFor(togglePanel.getId());
+ form.getChildren().add(toggleControl);
+ }
+
+ public void tearDown() throws Exception {
+ super.tearDown();
+ togglePanel = null;
+ toggleControl = null;
+ form = null;
+ }
+
+ /**
+ * Test for some ToggleControl renderer methods.
+ */
+ public void testToggleControlRendererMethods() throws Exception {
+
+ assertEquals(controlRenderer.getComponentClass(), UIToggleControl.class);
+
+ toggleControl.getAttributes().put("onclick", "toggleControlOnClick");
+ String result = controlRenderer.getOnClick(facesContext, toggleControl);
+ assertTrue(result.contains("toggleControlOnClick;"));
+ assertTrue(result.contains("TogglePanelManager.toggleOnServer"));
+
+ togglePanel.setSwitchType(UITogglePanel.AJAX_METHOD);
+ toggleControl.getAttributes().put("onclick", "toggleControlOnClick;");
+ result = controlRenderer.getOnClick(facesContext, toggleControl);
+ assertTrue(result.contains("toggleControlOnClick;"));
+ assertTrue(result.contains("A4J.AJAX.Submit"));
+ toggleControl.getAttributes().put("disabled", "true");
+ result = controlRenderer.getOnClick(facesContext, toggleControl);
+ assertEquals("return false;", result);
+ toggleControl.getAttributes().put("disabled", "false");
+
+ togglePanel.setSwitchType(UITogglePanel.CLIENT_METHOD);
+ toggleControl.setSwitchToState("b");
+ result = controlRenderer.getOnClick(facesContext, toggleControl);
+ assertTrue(result.contains("toggleControlOnClick;"));
+ assertTrue(result.contains("TogglePanelManager.toggleOnClient"));
+
+ toggleControl.setSwitchToState(null);
+ String result2 = controlRenderer
+ .getOnClick(facesContext, toggleControl);
+ assertTrue(!result.equalsIgnoreCase(result2));
+ }
+
+ /**
+ * Test for some TogglePanel renderer methods..
+ */
+ public void testTogglePanelRendererMethods() throws Exception {
+
+ assertEquals(panelRenderer.getComponentClass(), UITogglePanel.class);
+
+ togglePanel.setStateOrder(null);
+ try {
+ panelRenderer.handleFacets(facesContext, togglePanel);
+ assertTrue(false);
+ } catch (Exception e) {
+ assertTrue(e instanceof FacesException);
+ }
+ }
+}
More information about the richfaces-svn-commits
mailing list