Author: dmorozov
Date: 2008-06-23 07:45:51 -0400 (Mon, 23 Jun 2008)
New Revision: 9155
Modified:
trunk/ui/tree/src/test/java/org/richfaces/component/TreeComponentTest.java
Log:
Fix tests which failed due to event queuing now processed on nodes, not on tree.
Modified: trunk/ui/tree/src/test/java/org/richfaces/component/TreeComponentTest.java
===================================================================
--- trunk/ui/tree/src/test/java/org/richfaces/component/TreeComponentTest.java 2008-06-20
22:29:21 UTC (rev 9154)
+++ trunk/ui/tree/src/test/java/org/richfaces/component/TreeComponentTest.java 2008-06-23
11:45:51 UTC (rev 9155)
@@ -37,14 +37,9 @@
import javax.faces.context.FacesContext;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.PhaseId;
-import javax.servlet.http.HttpServletResponse;
-import org.ajax4jsf.resource.InternetResource;
-import org.ajax4jsf.resource.InternetResourceBuilder;
-import org.ajax4jsf.resource.ResourceBuilderImpl;
import org.ajax4jsf.resource.image.ImageInfo;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
-import org.ajax4jsf.tests.HtmlTestUtils;
import org.apache.commons.lang.StringUtils;
import org.richfaces.component.state.events.ExpandAllCommandEvent;
import org.richfaces.component.xml.XmlTreeDataBuilder;
@@ -59,7 +54,6 @@
import org.richfaces.model.ListRowKey;
import org.xml.sax.InputSource;
-import com.gargoylesoftware.htmlunit.Page;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlLink;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
@@ -473,14 +467,14 @@
NodeExpandedEvent nodeExpandedEvent = new NodeExpandedEvent(tree);
NodeSelectedEvent nodeSelectedEvent = new NodeSelectedEvent(tree, null);
ExpandAllCommandEvent expandAllCommandEvent = new ExpandAllCommandEvent(tree);
- DragEvent dragEvent = new DragEvent(tree);
- DropEvent dropEvent = new DropEvent(tree);
+ DragEvent dragEvent = new DragEvent(treeNode);
+ DropEvent dropEvent = new DropEvent(treeNode);
tree.queueEvent(nodeExpandedEvent);
tree.queueEvent(nodeSelectedEvent);
tree.queueEvent(expandAllCommandEvent);
- tree.queueEvent(dragEvent);
- tree.queueEvent(dropEvent);
+ treeNode.queueEvent(dragEvent);
+ treeNode.queueEvent(dropEvent);
assertEquals(PhaseId.INVOKE_APPLICATION, nodeExpandedEvent.getPhaseId());
assertEquals(PhaseId.UPDATE_MODEL_VALUES, nodeSelectedEvent.getPhaseId());
@@ -498,14 +492,14 @@
NodeExpandedEvent nodeExpandedEvent = new NodeExpandedEvent(tree);
NodeSelectedEvent nodeSelectedEvent = new NodeSelectedEvent(tree, null);
ExpandAllCommandEvent expandAllCommandEvent = new ExpandAllCommandEvent(tree);
- DragEvent dragEvent = new DragEvent(tree);
- DropEvent dropEvent = new DropEvent(tree);
+ DragEvent dragEvent = new DragEvent(treeNode);
+ DropEvent dropEvent = new DropEvent(treeNode);
tree.queueEvent(nodeExpandedEvent);
tree.queueEvent(nodeSelectedEvent);
tree.queueEvent(expandAllCommandEvent);
- tree.queueEvent(dragEvent);
- tree.queueEvent(dropEvent);
+ treeNode.queueEvent(dragEvent);
+ treeNode.queueEvent(dropEvent);
assertEquals(PhaseId.APPLY_REQUEST_VALUES, nodeExpandedEvent.getPhaseId());
assertEquals(PhaseId.APPLY_REQUEST_VALUES, nodeSelectedEvent.getPhaseId());
@@ -825,6 +819,102 @@
assertEquals("dropEnd2", treeNode.getOndropend());
}
+
+ /**
+ * Test drag & drop events processing order.
+ * Drag & drop events ALWAYS should go after all other events
+ * moreover drag should go always before it's pair drop event
+ */
+ public final void testDnDListenersOrder() {
+ NodeExpandedListener expandingListener = new NodeExpandedListener() {
+
+ public void processExpansion(NodeExpandedEvent nodeExpandedEvent)
+ throws AbortProcessingException {
+ System.out.println("node expanded");
+ }
+
+ };
+ NodeSelectedListener selectionListener = new NodeSelectedListener() {
+
+ public void processSelection(NodeSelectedEvent nodeSelectedEvent)
+ throws AbortProcessingException {
+ System.out.println("node selected");
+ }
+
+ };
+ DropListener dropListener = new DropListener() {
+
+ public void processDrop(DropEvent event) {
+ System.out.println("node dropped");
+ }
+
+ };
+ DragListener dragListener = new DragListener() {
+
+ public void processDrag(DragEvent event) {
+ System.out.println("node dragged");
+ }
+
+ };
+
+ // ------------- Install listeners -----------------
+ // add expansion listener
+ tree.addChangeExpandListener(expandingListener);
+ treeNode.addChangeExpandListener(expandingListener);
+ assertTrue(tree.getChangeExpandListeners().length == 1);
+ assertTrue(treeNode.getChangeExpandListeners().length == 1);
+
+ // add selection listener
+ tree.addNodeSelectListener(selectionListener);
+ treeNode.addNodeSelectListener(selectionListener);
+ assertTrue(tree.getNodeSelectListeners().length == 1);
+ assertTrue(treeNode.getNodeSelectListeners().length == 1);
+
+ tree.addDropListener(dropListener);
+ treeNode.addDropListener(dropListener);
+ assertTrue(tree.getDropListeners().length == 1);
+ assertTrue(treeNode.getDropListeners().length == 1);
+
+ tree.addDragListener(dragListener);
+ treeNode.addDragListener(dragListener);
+ assertTrue(tree.getDropListeners().length == 1);
+ assertTrue(treeNode.getDropListeners().length == 1);
+
+ // ------------ Invoke listeners --------------------
+ NodeExpandedEvent nodeExpandedEvent = new NodeExpandedEvent(tree);
+ NodeSelectedEvent nodeSelectedEvent = new NodeSelectedEvent(tree, null);
+ ExpandAllCommandEvent expandAllCommandEvent = new ExpandAllCommandEvent(tree);
+ DragEvent dragEvent = new DragEvent(tree);
+ DropEvent dropEvent = new DropEvent(tree);
+
+ tree.queueEvent(nodeExpandedEvent);
+ tree.queueEvent(dropEvent);
+ tree.queueEvent(nodeSelectedEvent);
+ tree.queueEvent(dragEvent);
+ tree.queueEvent(expandAllCommandEvent);
+
+ facesContext.getViewRoot().processApplication(facesContext);
+
+ /*
+ assertEquals(PhaseId.INVOKE_APPLICATION, nodeExpandedEvent.getPhaseId());
+ assertEquals(PhaseId.UPDATE_MODEL_VALUES, nodeSelectedEvent.getPhaseId());
+ assertEquals(PhaseId.INVOKE_APPLICATION, expandAllCommandEvent.getPhaseId());
+ assertEquals(PhaseId.INVOKE_APPLICATION, dragEvent.getPhaseId());
+ assertEquals(PhaseId.INVOKE_APPLICATION, dropEvent.getPhaseId());
+ */
+
+ // ------------ Cleanup --------------------
+ // cleanup listeners
+ tree.removeChangeExpandListener(expandingListener);
+ treeNode.removeChangeExpandListener(expandingListener);
+ tree.removeNodeSelectListener(selectionListener);
+ treeNode.removeNodeSelectListener(selectionListener);
+ tree.removeDropListener(dropListener);
+ treeNode.removeDropListener(dropListener);
+ tree.removeDragListener(dragListener);
+ treeNode.removeDragListener(dragListener);
+ }
+
}
Show replies by date