diff options
author | Anastasia Smirnova <anasmi@utu.fi> | 2018-09-06 16:25:07 +0300 |
---|---|---|
committer | Ilia Motornyi <elmot@vaadin.com> | 2018-09-06 16:25:07 +0300 |
commit | 78b1dc143983ddf25fae2cfda1c7705c2d40b2e4 (patch) | |
tree | 812acae2388bc301ddd7dea99b817e5c22c43a8b /uitest | |
parent | 99161a6e91ab0c40a14256393047ac426cc1c4e3 (diff) | |
download | vaadin-framework-78b1dc143983ddf25fae2cfda1c7705c2d40b2e4.tar.gz vaadin-framework-78b1dc143983ddf25fae2cfda1c7705c2d40b2e4.zip |
Force re-updating the resolutions of DateField (#11159)
Fixes #11099
Diffstat (limited to 'uitest')
2 files changed, 71 insertions, 0 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldResetValueWithinListener.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldResetValueWithinListener.java new file mode 100644 index 0000000000..e565f84b5a --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldResetValueWithinListener.java @@ -0,0 +1,38 @@ +package com.vaadin.tests.components.datefield; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Button; +import com.vaadin.ui.DateField; + +import java.time.LocalDate; +import java.util.Locale; + +public class DateFieldResetValueWithinListener extends AbstractTestUI { + + public static LocalDate initialValue = LocalDate.of(2018, 8, 4); + public static LocalDate beforeInitialValue = LocalDate.of(2018, 7, 13); + + @Override + protected void setup(VaadinRequest request) { + LocalDate defaultDate = LocalDate.of(2018, 9, 4); + DateField df = new DateField("Date: ", defaultDate); + df.setDateFormat("d.M.yyyy"); + df.setId("dateField1"); + df.setValue(initialValue); + df.setLocale(Locale.ENGLISH); + df.addValueChangeListener(evt -> { + if (evt.getValue().isAfter(initialValue)) { + df.setValue(beforeInitialValue); + } + }); + + addComponent(df); + Button setV = new Button("Set date after the current", e -> { + LocalDate afterButtonPress = LocalDate.of(2018, 9, 12); + df.setValue(afterButtonPress); + }); + setV.setId("setValueButton"); + addComponent(setV); + } +} diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldResetValueWithinListenerTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldResetValueWithinListenerTest.java new file mode 100644 index 0000000000..59a409d11f --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldResetValueWithinListenerTest.java @@ -0,0 +1,33 @@ +package com.vaadin.tests.components.datefield; + +import com.vaadin.testbench.By; +import com.vaadin.tests.tb3.MultiBrowserTest; +import org.junit.Test; + +import java.time.format.DateTimeFormatter; +import java.util.Locale; + +import static org.junit.Assert.assertEquals; + +public class DateFieldResetValueWithinListenerTest extends MultiBrowserTest { + + @Test + public void testValueReassigned() { + openTestURL(); + + DateTimeFormatter format = DateTimeFormatter.ofPattern("d.M.yyyy", + Locale.ENGLISH); + String textBefore = findElement(By.tagName("input")) + .getAttribute("value"); + assertEquals( + DateFieldResetValueWithinListener.initialValue.format(format), + textBefore); + + findElement(By.id("setValueButton")).click(); + + String textAfter = findElement(By.tagName("input")) + .getAttribute("value"); + assertEquals(DateFieldResetValueWithinListener.beforeInitialValue + .format(format), textAfter); + } +} |