summaryrefslogtreecommitdiffstats
path: root/uitest/src/test
diff options
context:
space:
mode:
authorAnna Koskinen <Ansku@users.noreply.github.com>2018-02-27 17:05:22 +0200
committerTeemu Suo-Anttila <tsuoanttila@users.noreply.github.com>2018-02-27 17:05:22 +0200
commita0a9eee14fed0d5c6b7a8ae5b5f9185d7cef1279 (patch)
treeb33c2e9a0847c32d54db5a30b02f1186a8eb154c /uitest/src/test
parent6d84351fee4bdb6e877d9100c8645e6c6044864e (diff)
downloadvaadin-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.java52
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);
+ }
+}