From bf4cebc36c3efa6bbd42f16f30d6a06a4bf94527 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Fri, 4 Apr 2014 14:08:25 +0300 Subject: Mousedown - mouseout - mouseover - mouseup now counts a click (#13550) Change-Id: Id1f58b1ac6c207cec3357bcd96e1eb8d8de256a0 --- .../tests/components/button/ButtonClick.java | 70 ++++++++++++++++++++++ .../tests/components/button/ButtonClickTest.java | 42 +++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 uitest/src/com/vaadin/tests/components/button/ButtonClick.java create mode 100644 uitest/src/com/vaadin/tests/components/button/ButtonClickTest.java (limited to 'uitest') diff --git a/uitest/src/com/vaadin/tests/components/button/ButtonClick.java b/uitest/src/com/vaadin/tests/components/button/ButtonClick.java new file mode 100644 index 0000000000..30692649c5 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/button/ButtonClick.java @@ -0,0 +1,70 @@ +/* + * Copyright 2000-2013 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.tests.components.button; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Alignment; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; +import com.vaadin.ui.Label; +import com.vaadin.ui.VerticalLayout; + +public class ButtonClick extends AbstractTestUI { + + public final static String SUCCESS_TEXT = "Click received succesfully!"; + public final static String WRONG_BUTTON_TEXT = "Wrong button clicked."; + + @Override + protected void setup(VaadinRequest request) { + final VerticalLayout rootLayout = new VerticalLayout(); + final Label statusLabel = new Label("Test initialized"); + rootLayout.addComponent(new Button("Click here", new ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + statusLabel.setValue(SUCCESS_TEXT); + } + + })); + Button visitLocation = new Button("Drag here", new ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + statusLabel.setValue(WRONG_BUTTON_TEXT); + } + + }); + rootLayout.addComponent(statusLabel); + rootLayout.addComponent(visitLocation); + rootLayout.setComponentAlignment(visitLocation, Alignment.BOTTOM_RIGHT); + rootLayout.setSizeFull(); + rootLayout.setMargin(true); + setContent(rootLayout); + } + + @Override + protected String getTestDescription() { + return "Verify button click logic"; + } + + @Override + protected Integer getTicketNumber() { + return 13550; + } + +} diff --git a/uitest/src/com/vaadin/tests/components/button/ButtonClickTest.java b/uitest/src/com/vaadin/tests/components/button/ButtonClickTest.java new file mode 100644 index 0000000000..77b35092de --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/button/ButtonClickTest.java @@ -0,0 +1,42 @@ +/* + * Copyright 2000-2013 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.tests.components.button; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.interactions.Actions; + +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class ButtonClickTest extends MultiBrowserTest { + + @Test + public void buttonMouseDownOutOverUp() { + openTestURL(); + + WebElement clickedButton = vaadinElement("/VVerticalLayout[0]/VButton[0]"); + WebElement visitedButton = vaadinElement("/VVerticalLayout[0]/VButton[1]"); + + new Actions(driver).moveToElement(clickedButton).clickAndHold() + .moveToElement(visitedButton).moveToElement(clickedButton) + .release().perform(); + + assertEquals(ButtonClick.SUCCESS_TEXT, + vaadinElement("/VVerticalLayout[0]/VLabel[0]").getText()); + } +} -- cgit v1.2.3