diff options
author | John Alhroos <john.ahlroos@itmill.com> | 2011-09-30 12:11:57 +0000 |
---|---|---|
committer | John Alhroos <john.ahlroos@itmill.com> | 2011-09-30 12:11:57 +0000 |
commit | 1b6cd9db1b5fd42b9023d3a733ff0a38df272c8d (patch) | |
tree | d9119af47e422179d6eeba2f762d419b41dc94bf | |
parent | 4794b6bf53db9b57b74fdb6e200b260ee20373b3 (diff) | |
download | vaadin-framework-1b6cd9db1b5fd42b9023d3a733ff0a38df272c8d.tar.gz vaadin-framework-1b6cd9db1b5fd42b9023d3a733ff0a38df272c8d.zip |
Testbench test for #7687
svn changeset:21471/svn branch:6.7
-rw-r--r-- | tests/testbench/com/vaadin/tests/components/tree/TreeDragAndDropFromTable.html | 87 | ||||
-rw-r--r-- | tests/testbench/com/vaadin/tests/components/tree/TreeDragAndDropFromTable.java | 119 |
2 files changed, 206 insertions, 0 deletions
diff --git a/tests/testbench/com/vaadin/tests/components/tree/TreeDragAndDropFromTable.html b/tests/testbench/com/vaadin/tests/components/tree/TreeDragAndDropFromTable.html new file mode 100644 index 0000000000..b093bd90d6 --- /dev/null +++ b/tests/testbench/com/vaadin/tests/components/tree/TreeDragAndDropFromTable.html @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<link rel="selenium.base" href="" /> +<title>New Test</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">New Test</td></tr> +</thead><tbody> +<tr> + <td>open</td> + <td>/run/com.vaadin.tests.components.tree.TreeDragAndDropFromTable?restartApplication</td> + <td></td> +</tr> +<!--Dragging row 1 from table to tree Item 1--> +<tr> + <td>drag</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td> + <td>16,12</td> +</tr> +<tr> + <td>drop</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VTree[0]#n[0]</td> + <td>29,11</td> +</tr> +<tr> + <td>assertText</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VTree[0]#n[0]/n[3]</td> + <td>Row 1</td> +</tr> +<!--Dragging Row 2 from Table to Tree Item 2--> +<tr> + <td>drag</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td> + <td>23,13</td> +</tr> +<tr> + <td>drop</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VTree[0]#n[1]</td> + <td>29,9</td> +</tr> +<tr> + <td>assertText</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VTree[0]#n[1]/n[3]</td> + <td>Row 2</td> +</tr> +<!--Draggin Row 3 from Table to Tree Item 3--> +<tr> + <td>drag</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td> + <td>29,11</td> +</tr> +<tr> + <td>drop</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VTree[0]#n[2]</td> + <td>15,4</td> +</tr> +<tr> + <td>assertText</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VTree[0]#n[2]/n[3]</td> + <td>Row 3</td> +</tr> +<!--Trying to drag Row 5 from Table to Tree lead -> Should fail--> +<tr> + <td>drag</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td> + <td>30,13</td> +</tr> +<tr> + <td>drop</td> + <td>vaadin=runcomvaadintestscomponentstreeTreeDragAndDropFromTable::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VHorizontalLayout[0]/ChildComponentContainer[1]/VTree[0]#n[0]/n[1]</td> + <td>29,10</td> +</tr> +<!--Table should container 4 rows--> +<tr> + <td>screenCapture</td> + <td></td> + <td>TableHas4RowsLeft</td> +</tr> + +</tbody></table> +</body> +</html> diff --git a/tests/testbench/com/vaadin/tests/components/tree/TreeDragAndDropFromTable.java b/tests/testbench/com/vaadin/tests/components/tree/TreeDragAndDropFromTable.java new file mode 100644 index 0000000000..1525d43ede --- /dev/null +++ b/tests/testbench/com/vaadin/tests/components/tree/TreeDragAndDropFromTable.java @@ -0,0 +1,119 @@ +package com.vaadin.tests.components.tree; + +import com.vaadin.data.Container; +import com.vaadin.event.DataBoundTransferable; +import com.vaadin.event.dd.DragAndDropEvent; +import com.vaadin.event.dd.DropHandler; +import com.vaadin.event.dd.acceptcriteria.AcceptCriterion; +import com.vaadin.tests.components.TestBase; +import com.vaadin.ui.AbstractSelect.AbstractSelectTargetDetails; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.Table; +import com.vaadin.ui.Table.TableDragMode; +import com.vaadin.ui.Tree; +import com.vaadin.ui.Tree.TargetItemAllowsChildren; + +public class TreeDragAndDropFromTable extends TestBase { + + @Override + protected void setup() { + + HorizontalLayout h = new HorizontalLayout(); + addComponent(h); + + Table table = new Table(); + table.addContainerProperty("Column 1", String.class, "Row"); + table.setDragMode(TableDragMode.ROW); + + table.addItem("Row 1"); + table.addItem("Row 2"); + table.addItem("Row 3"); + table.addItem("Row 4"); + table.addItem("Row 5"); + table.addItem("Row 6"); + table.addItem("Row 7"); + + h.addComponent(table); + + final Tree tree = new Tree(); + tree.setDropHandler(new DropHandler() { + + public AcceptCriterion getAcceptCriterion() { + return TargetItemAllowsChildren.get(); + } + + public void drop(DragAndDropEvent dropEvent) { + // criteria verify that this is safe + DataBoundTransferable t = (DataBoundTransferable) dropEvent + .getTransferable(); + Container sourceContainer = t.getSourceContainer(); + Object sourceItemId = t.getItemId(); + System.out.println(sourceItemId); + + AbstractSelectTargetDetails dropData = ((AbstractSelectTargetDetails) dropEvent + .getTargetDetails()); + Object targetItemId = dropData.getItemIdOver(); + + // move item from table to category' + tree.addItem(sourceItemId); + tree.setParent(sourceItemId, targetItemId); + tree.setChildrenAllowed(sourceItemId, false); + sourceContainer.removeItem(sourceItemId); + + } + }); + + tree.addItem("Item 1"); + tree.addItem("Item 11"); + tree.setChildrenAllowed("Item 11", false); + tree.setParent("Item 11", "Item 1"); + tree.addItem("Item 12"); + tree.setChildrenAllowed("Item 12", false); + tree.setParent("Item 12", "Item 1"); + tree.addItem("Item 13"); + tree.setChildrenAllowed("Item 13", false); + tree.setParent("Item 13", "Item 1"); + + tree.addItem("Item 2"); + tree.addItem("Item 21"); + tree.setChildrenAllowed("Item 21", false); + tree.setParent("Item 21", "Item 2"); + tree.addItem("Item 22"); + tree.setChildrenAllowed("Item 22", false); + tree.setParent("Item 22", "Item 2"); + tree.addItem("Item 23"); + tree.setChildrenAllowed("Item 23", false); + tree.setParent("Item 23", "Item 2"); + + tree.addItem("Item 3"); + tree.addItem("Item 31"); + tree.setChildrenAllowed("Item 31", false); + tree.setParent("Item 31", "Item 3"); + tree.addItem("Item 32"); + tree.setChildrenAllowed("Item 32", false); + tree.setParent("Item 32", "Item 3"); + tree.addItem("Item 33"); + tree.setChildrenAllowed("Item 33", false); + tree.setParent("Item 33", "Item 3"); + + tree.expandItemsRecursively("Item 1"); + tree.expandItemsRecursively("Item 2"); + tree.expandItemsRecursively("Item 3"); + + h.addComponent(tree); + } + + @Override + protected String getDescription() { + return "Test that childred can be dragged " + + "from the Table to the tree and that TargetItemAllowsChildren limits " + + "the drops to nodes which allows children"; + } + + @Override + protected Integer getTicketNumber() { + return 7687; + } + + +} |