summaryrefslogtreecommitdiffstats
path: root/uitest/src/test
diff options
context:
space:
mode:
authorAnastasia Smirnova <anasmi@utu.fi>2018-10-18 15:28:23 +0300
committerSun Zhe <31067185+ZheSun88@users.noreply.github.com>2018-10-18 15:28:23 +0300
commit5e33b383fdf31f2ea15603f3a30bcb1e3c22d081 (patch)
tree41fb8f69c83178728bb5822e636e2da36042e3a8 /uitest/src/test
parenta52993ba9ca67c15e6ca311ca308528752b589c9 (diff)
downloadvaadin-framework-5e33b383fdf31f2ea15603f3a30bcb1e3c22d081.tar.gz
vaadin-framework-5e33b383fdf31f2ea15603f3a30bcb1e3c22d081.zip
Display the caption of the Empty selection in NativeSelect (#11191)
* Fixes #10937 - Previously if selected value is null, then index is set to -1; in current implementation if value is null and emptySelection is allowed then set the index to 0. (The position for the empty selection) - Also, if changing the allowEmptySelection on the fly, ensure, that either index is to-reset to -1 by setting the selected value to null on the client-side (the value before was null) or preserve the value(value was different than empty). * Change the test case Since in this pr the behaviour of the NS is changed, therefore old test need to be adjusted. Change: setting null as value will select empty selection. Before that nothing would be selected and value will be cleared. Behaviour change in PR: Allow selecting null as value
Diffstat (limited to 'uitest/src/test')
-rw-r--r--uitest/src/test/java/com/vaadin/tests/components/nativeselect/NativeSelectSetNullTest.java59
1 files changed, 59 insertions, 0 deletions
diff --git a/uitest/src/test/java/com/vaadin/tests/components/nativeselect/NativeSelectSetNullTest.java b/uitest/src/test/java/com/vaadin/tests/components/nativeselect/NativeSelectSetNullTest.java
new file mode 100644
index 0000000000..90afe9f463
--- /dev/null
+++ b/uitest/src/test/java/com/vaadin/tests/components/nativeselect/NativeSelectSetNullTest.java
@@ -0,0 +1,59 @@
+package com.vaadin.tests.components.nativeselect;
+
+import com.vaadin.testbench.elements.NativeSelectElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+import org.junit.Before;
+import org.junit.Test;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebElement;
+
+import static junit.framework.TestCase.assertEquals;
+
+public class NativeSelectSetNullTest extends MultiBrowserTest {
+
+ @Before
+ public void setUp() {
+ openTestURL();
+ }
+
+ @Test
+ public void testCaptionSelected() {
+ getButtonOnId("setNull");
+ assertEquals(NativeSelectSetNull.EMPTY_SELECTION_TEXT,
+ getSelect().getValue());
+ }
+
+ @Test
+ public void changeSelectedValue() {
+ getButtonOnId("changeSelect").click();
+ assertEquals(3, Integer.valueOf(getSelect().getValue()).intValue());
+ }
+
+ @Test
+ public void clearSelection() {
+ getButtonOnId("clear").click();
+ assertEquals(NativeSelectSetNull.EMPTY_SELECTION_TEXT,
+ getSelect().getValue());
+ }
+
+ @Test
+ public void valuePreservedAfterAllowEmptySelectionChanged() {
+ getSelect().setValue("2");
+ getButtonOnId("disable").click();
+ assertEquals(2, Integer.valueOf(getSelect().getValue()).intValue());
+
+ getButtonOnId("disable").click();
+ getButtonOnId("setNull").click();
+ assertEquals(NativeSelectSetNull.EMPTY_SELECTION_TEXT,
+ getSelect().getValue());
+
+ }
+
+ protected NativeSelectElement getSelect() {
+ return $(NativeSelectElement.class).first();
+ }
+
+ protected WebElement getButtonOnId(String id) {
+ return findElement(By.id(id));
+ }
+}