From a0a9eee14fed0d5c6b7a8ae5b5f9185d7cef1279 Mon Sep 17 00:00:00 2001 From: Anna Koskinen Date: Tue, 27 Feb 2018 17:05:22 +0200 Subject: Fix client and server filter state mismatch in Combobox (#10630) Fixes #10624 --- .../combobox/ComboBoxFilterClearTest.java | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxFilterClearTest.java (limited to 'uitest/src/test') diff --git a/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxFilterClearTest.java b/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxFilterClearTest.java new file mode 100644 index 0000000000..29beb29b3a --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxFilterClearTest.java @@ -0,0 +1,52 @@ +package com.vaadin.tests.components.combobox; + +import static org.junit.Assert.assertEquals; + +import java.util.List; + +import org.junit.Test; +import org.openqa.selenium.Keys; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.interactions.Actions; + +import com.vaadin.testbench.By; +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.ComboBoxElement; +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class ComboBoxFilterClearTest extends MultiBrowserTest { + ComboBoxElement comboBox; + + @Test + public void testFilterCleared() { + openTestURL(); + comboBox = $(ComboBoxElement.class).first(); + ButtonElement toggleVisibility = $(ButtonElement.class) + .id("toggleVisibility"); + ButtonElement setNull = $(ButtonElement.class).id("setNull"); + + sendKeysToInput("b0", Keys.TAB); + assertEquals("b0", comboBox.getText()); + + toggleVisibility.click(); + waitForElementNotPresent(By.className("v-filterselect")); + + setNull.click(); + + toggleVisibility.click(); + waitForElementPresent(By.className("v-filterselect")); + comboBox = $(ComboBoxElement.class).first(); + + WebElement suggestionPopup = comboBox.getSuggestionPopup(); + + List menuItems = suggestionPopup + .findElements(By.className("gwt-MenuItem")); + assertEquals("a0", menuItems.get(1).getText()); + } + + private void sendKeysToInput(CharSequence... keys) { + // ensure mouse is located over the ComboBox to avoid hover issues + new Actions(getDriver()).moveToElement(comboBox).perform(); + comboBox.sendKeys(keys); + } +} -- cgit v1.2.3