diff options
author | Anna Koskinen <Ansku@users.noreply.github.com> | 2018-02-27 17:05:22 +0200 |
---|---|---|
committer | Teemu Suo-Anttila <tsuoanttila@users.noreply.github.com> | 2018-02-27 17:05:22 +0200 |
commit | a0a9eee14fed0d5c6b7a8ae5b5f9185d7cef1279 (patch) | |
tree | b33c2e9a0847c32d54db5a30b02f1186a8eb154c /uitest/src/test | |
parent | 6d84351fee4bdb6e877d9100c8645e6c6044864e (diff) | |
download | vaadin-framework-a0a9eee14fed0d5c6b7a8ae5b5f9185d7cef1279.tar.gz vaadin-framework-a0a9eee14fed0d5c6b7a8ae5b5f9185d7cef1279.zip |
Fix client and server filter state mismatch in Combobox (#10630)
Fixes #10624
Diffstat (limited to 'uitest/src/test')
-rw-r--r-- | uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxFilterClearTest.java | 52 |
1 files changed, 52 insertions, 0 deletions
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<WebElement> 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); + } +} |