summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Alhroos <john.ahlroos@itmill.com>2011-09-30 12:11:57 +0000
committerJohn Alhroos <john.ahlroos@itmill.com>2011-09-30 12:11:57 +0000
commit1b6cd9db1b5fd42b9023d3a733ff0a38df272c8d (patch)
treed9119af47e422179d6eeba2f762d419b41dc94bf
parent4794b6bf53db9b57b74fdb6e200b260ee20373b3 (diff)
downloadvaadin-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.html87
-rw-r--r--tests/testbench/com/vaadin/tests/components/tree/TreeDragAndDropFromTable.java119
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;
+ }
+
+
+}