[richfaces-svn-commits] JBoss Rich Faces SVN: r12175 - in trunk/test-applications/seleniumTest/richfaces/src: main/java/org/ajax4jsf/listener and 3 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Jan 9 08:55:51 EST 2009


Author: dsvyatobatsko
Date: 2009-01-09 08:55:51 -0500 (Fri, 09 Jan 2009)
New Revision: 12175

Added:
   trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/listener/TreeNodeExpandedListener.java
   trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/listener/TreeNodeSelectedListener.java
Modified:
   trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/autotest/bean/AutoTestBean.java
   trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/tree/treeAutoTest.xhtml
   trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java
   trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TreeTest.java
Log:
https://jira.jboss.org/jira/browse/RF-5572
https://jira.jboss.org/jira/browse/RF-5574

Modified: trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/autotest/bean/AutoTestBean.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/autotest/bean/AutoTestBean.java	2009-01-09 13:46:31 UTC (rev 12174)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/autotest/bean/AutoTestBean.java	2009-01-09 13:55:51 UTC (rev 12175)
@@ -76,6 +76,8 @@
     
     public static final String VALIDATOR_MESSAGE = "Validator message";
 
+    public static final String AUTOTEST_BEAN_NAME = "autoTestBean";
+
     // private String input = INPUT_TEXT;
 
     private String reRender = STATUS_ID;
@@ -169,7 +171,15 @@
     public void processExpansion(NodeExpandedEvent nodeExpandedEvent) {
         setStatus(getStatus() + NODE_EXPANDED_LISTENER_STATUS);
     }
-    
+
+    /**
+     * Puts a message into the status that can be checked by <code>AutoTester#checkMessage</code> method hereafter
+     * @param msg message
+     */
+    public void addMessage(String msg) {
+        setStatus(getStatus() + msg);
+    }
+
     public void validate(FacesContext context, UIComponent component, Object o) {
     	if (VALIDATOR_ID.equals(this.validatorId)) {
     		AutoTestValidator validator = new AutoTestValidator();

Added: trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/listener/TreeNodeExpandedListener.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/listener/TreeNodeExpandedListener.java	                        (rev 0)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/listener/TreeNodeExpandedListener.java	2009-01-09 13:55:51 UTC (rev 12175)
@@ -0,0 +1,24 @@
+package org.ajax4jsf.listener;
+
+import javax.faces.event.AbortProcessingException;
+
+import org.ajax4jsf.autotest.bean.AutoTestBean;
+import org.ajax4jsf.util.FacesUtils;
+import org.richfaces.event.NodeExpandedEvent;
+import org.richfaces.event.NodeExpandedListener;
+
+public class TreeNodeExpandedListener implements NodeExpandedListener {
+
+    public static final String NE_LISTENER = "NELISTENER";
+
+    /**
+     * @see NodeExpandedListener#processExpansion(NodeExpandedEvent)
+     */
+    public void processExpansion(NodeExpandedEvent nodeExpandedEvent) throws AbortProcessingException {
+        AutoTestBean bean = (AutoTestBean) FacesUtils.getFacesBean(AutoTestBean.AUTOTEST_BEAN_NAME);
+        if (bean != null) {
+            bean.addMessage(NE_LISTENER);
+        }
+    }
+
+}


Property changes on: trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/listener/TreeNodeExpandedListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Author Id Revision Date
Name: svn:eol-style
   + native

Added: trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/listener/TreeNodeSelectedListener.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/listener/TreeNodeSelectedListener.java	                        (rev 0)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/listener/TreeNodeSelectedListener.java	2009-01-09 13:55:51 UTC (rev 12175)
@@ -0,0 +1,24 @@
+package org.ajax4jsf.listener;
+
+import javax.faces.event.AbortProcessingException;
+
+import org.ajax4jsf.autotest.bean.AutoTestBean;
+import org.ajax4jsf.util.FacesUtils;
+import org.richfaces.event.NodeSelectedEvent;
+import org.richfaces.event.NodeSelectedListener;
+
+public class TreeNodeSelectedListener implements NodeSelectedListener {
+
+    public static final String NS_LISTENER = "NSLISTENER";
+
+    /**
+     * @see NodeSelectedListener#processSelection(NodeSelectedEvent)
+     */
+    public void processSelection(NodeSelectedEvent nodeSelectedEvent) throws AbortProcessingException {
+        AutoTestBean bean = (AutoTestBean) FacesUtils.getFacesBean(AutoTestBean.AUTOTEST_BEAN_NAME);
+        if (bean != null) {
+            bean.addMessage(NS_LISTENER);
+        }
+    }
+
+}


Property changes on: trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/listener/TreeNodeSelectedListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Author Id Revision Date
Name: svn:eol-style
   + native

Modified: trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/tree/treeAutoTest.xhtml
===================================================================
(Binary files differ)

Modified: trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java	2009-01-09 13:46:31 UTC (rev 12174)
+++ trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java	2009-01-09 13:55:51 UTC (rev 12175)
@@ -574,6 +574,16 @@
         }
     }
 
+    public boolean checkMessage(String msg, boolean contain) {
+        String status = getStatus();
+        if (contain && status != null && status.indexOf(msg) == -1) {
+            return false;
+        } else if (!contain && status != null && status.indexOf(msg) != -1) {
+            return false;
+        }
+        return true;
+    }
+
     private String getStatus() {
         return base.getTextById(base.getParentId() + AUTOTEST_FORM_ID + STATUS_ID);
     }

Modified: trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TreeTest.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TreeTest.java	2009-01-09 13:46:31 UTC (rev 12174)
+++ trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TreeTest.java	2009-01-09 13:55:51 UTC (rev 12175)
@@ -23,6 +23,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.ajax4jsf.listener.TreeNodeExpandedListener;
+import org.ajax4jsf.listener.TreeNodeSelectedListener;
 import org.ajax4jsf.template.Template;
 import org.richfaces.AutoTester;
 import org.richfaces.SeleniumTestBase;
@@ -631,6 +633,30 @@
         //d40
     }
 
+    @Test
+    public void testNodeSelectedAndNodeExpandedListeners(Template template) {
+        AutoTester tester = getAutoTester(this);
+        tester.renderPage(template, INIT_AJAX_CORE_TEST);
+        tester.reset();
+        tester.clickLoad();
+        writeStatus("Check NodeExpandedListener and NodeSelectedListener");
+
+        String compId = getAutoTester(this).getClientId(AutoTester.COMPONENT_ID);
+        String firstNodeHandlerXpath = "//*[@id='"+ compId + ":childs']/table[1]/tbody/tr/td/div/a";
+        String secondNodeXpath = "//*[@id='"+ compId + ":childs']/div/table[1]/tbody/tr/td[3]";
+
+        writeStatus("Expand the first node. NodeExpandedListener must be triggered. NodeSelectedListener should remain untouched. Check it");
+        clickAjaxCommandAndWait(firstNodeHandlerXpath);
+        Assert.assertTrue(tester.checkMessage(TreeNodeExpandedListener.NE_LISTENER, true), "NodeExpandedListener has to be triggered");
+        Assert.assertTrue(tester.checkMessage(TreeNodeSelectedListener.NS_LISTENER, false), "NodeSelectedListener has not to be triggered");
+
+        writeStatus("Select the second node. Now vice versa: NodeSelectedListener must be triggered. NodeExpandedListener should remain untouched. Check it");
+        tester.startTracing();
+        clickTreeNodeAndWait(secondNodeXpath);
+        Assert.assertTrue(tester.checkMessage(TreeNodeExpandedListener.NE_LISTENER, false), "NodeExpandedListener has not to be triggered");
+        Assert.assertTrue(tester.checkMessage(TreeNodeSelectedListener.NS_LISTENER, true), "NodeSelectedListener has to be triggered");
+    }
+
     @Override
     public void sendAjax() {
         AutoTester tester = getAutoTester(this);




More information about the richfaces-svn-commits mailing list