summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorArtur Signell <artur.signell@itmill.com>2011-10-05 13:23:06 +0000
committerArtur Signell <artur.signell@itmill.com>2011-10-05 13:23:06 +0000
commit5e80aef92f382aa58451188f147573bc35cf123b (patch)
tree056a170e0248c4eb1173517260c5bbd70232d9f3 /tests
parent353a5c81e0d67aac84d46e1a9ba2d674aa5e3c06 (diff)
downloadvaadin-framework-5e80aef92f382aa58451188f147573bc35cf123b.tar.gz
vaadin-framework-5e80aef92f382aa58451188f147573bc35cf123b.zip
#7708 Added code for handling tooltip events in VDragAndDropWrapper + test
svn changeset:21580/svn branch:6.7
Diffstat (limited to 'tests')
-rw-r--r--tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.html52
-rw-r--r--tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.java131
2 files changed, 183 insertions, 0 deletions
diff --git a/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.html b/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.html
new file mode 100644
index 0000000000..13d6312cf7
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.html
@@ -0,0 +1,52 @@
+<?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.draganddropwrapper.DragAndDropWrapperTooltips?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>showTooltip</td>
+ <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VDragAndDropWrapper[0]/VCssLayout[0]/VCssLayout$FlowPane[0]/VDragAndDropWrapper[2]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tooltip-initial</td>
+</tr>
+<tr>
+ <td>drag</td>
+ <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VDragAndDropWrapper[0]/VCssLayout[0]/VCssLayout$FlowPane[0]/VDragAndDropWrapper[3]</td>
+ <td>30,41</td>
+</tr>
+<tr>
+ <td>drop</td>
+ <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VDragAndDropWrapper[0]/VCssLayout[0]/VCssLayout$FlowPane[0]/VDragAndDropWrapper[1]</td>
+ <td>4,42</td>
+</tr>
+<tr>
+ <td>showTooltip</td>
+ <td>vaadin=runcomvaadintestscomponentsdraganddropwrapperDragAndDropWrapperTooltips::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VDragAndDropWrapper[0]/VCssLayout[0]/VCssLayout$FlowPane[0]/VDragAndDropWrapper[0]/VLabel[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tooltip-after-drag</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.java b/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.java
new file mode 100644
index 0000000000..b147392480
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperTooltips.java
@@ -0,0 +1,131 @@
+package com.vaadin.tests.components.draganddropwrapper;
+
+import java.util.Iterator;
+
+import com.vaadin.event.Transferable;
+import com.vaadin.event.TransferableImpl;
+import com.vaadin.event.dd.DragAndDropEvent;
+import com.vaadin.event.dd.DropHandler;
+import com.vaadin.event.dd.DropTarget;
+import com.vaadin.event.dd.TargetDetails;
+import com.vaadin.event.dd.acceptcriteria.AcceptAll;
+import com.vaadin.event.dd.acceptcriteria.AcceptCriterion;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.tests.util.TestUtils;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.DragAndDropWrapper;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.VerticalLayout;
+
+public class DragAndDropWrapperTooltips extends TestBase {
+
+ private final String BASE = ".greenblock {vertical-align: middle; float:left; width:60px;height:60px;background: green !important; padding:0; margin:2px;-webkit-transition: width 0.3s ease-in-out;color: white;}";
+ private final String B2 = ".b2 {background-color: red !important;}";
+ private final String B3 = ".b3 {background-color: yellow !important;color: black;}";
+ private final String B4 = ".b4 {background-color: blue !important;}";
+ private final String HIDEDRAGSOURCE = ".v-active-drag-source { overflow:hidden; width:0px !important;}";
+ private DragAndDropWrapper dragAndDropWrapper;
+
+ @Override
+ protected void setup() {
+ TestUtils.injectCSS(getMainWindow(), BASE + B4 + B2 + B3
+ + HIDEDRAGSOURCE);
+
+ VerticalLayout l = new VerticalLayout();
+ l.setWidth("400px");
+ l.setHeight("100px");
+ dragAndDropWrapper = new DragAndDropWrapper(cssLayout);
+ dragAndDropWrapper
+ .setDescription("Tooltip for the wrapper wrapping all the draggable layouts");
+ dragAndDropWrapper.setSizeFull();
+ l.addComponent(dragAndDropWrapper);
+
+ addComponent(l);
+
+ for (int i = 1; i <= 4; i++) {
+ WrappedLabel wl = new WrappedLabel("Block");
+ wl.addStyleName("b" + i);
+ cssLayout.addComponent(wl);
+ }
+
+ }
+
+ int count;
+
+ private CssLayout cssLayout = new CssLayout() {
+ };
+
+ class WrappedLabel extends DragAndDropWrapper {
+
+ private static final long serialVersionUID = 1L;
+
+ public WrappedLabel(String content) {
+ super(new Label(content + " " + ++count));
+ getCompositionRoot().setSizeUndefined();
+ setHeight("60px"); // FIXME custom component seems to be broken:
+ // can't set height with css only
+ setWidth("60px");
+ setDragStartMode(DragStartMode.WRAPPER);
+ addStyleName("greenblock");
+ }
+
+ @Override
+ public DropHandler getDropHandler() {
+ return dh;
+ }
+
+ }
+
+ private DropHandler dh = new DropHandler() {
+
+ public AcceptCriterion getAcceptCriterion() {
+ return AcceptAll.get();
+ }
+
+ public void drop(DragAndDropEvent dropEvent) {
+ Transferable transferable = dropEvent.getTransferable();
+ if (transferable instanceof TransferableImpl) {
+ TransferableImpl ct = (TransferableImpl) transferable;
+ Component sourceComponent = ct.getSourceComponent();
+ if (sourceComponent instanceof WrappedLabel) {
+ int index = 1;
+ Iterator<Component> componentIterator = cssLayout
+ .getComponentIterator();
+ Component next = componentIterator.next();
+ TargetDetails dropTargetData = dropEvent.getTargetDetails();
+ DropTarget target = dropTargetData.getTarget();
+ while (next != target) {
+ if (next != sourceComponent) {
+ index++;
+ }
+ next = componentIterator.next();
+ }
+ if (dropTargetData.getData("horizontalLocation").equals(
+ "LEFT")) {
+ index--;
+ if (index < 0) {
+ index = 0;
+ }
+ }
+
+ cssLayout.removeComponent(sourceComponent);
+ cssLayout.addComponent(sourceComponent, index);
+
+ dragAndDropWrapper
+ .setDescription("Drag was performed and tooltip was changed");
+ }
+ }
+ }
+ };
+
+ @Override
+ protected String getDescription() {
+ return "A tooltip should be shown when hovering the DragAndDropWrapper containing all the draggable layouts";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 7708;
+ }
+}