diff options
author | Tatu Lund <tatu@vaadin.com> | 2020-02-24 12:51:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-24 12:51:20 +0200 |
commit | 684c23af96e06dcd0c735f47b0f7e5ae1c555fdd (patch) | |
tree | 665020453afcdd5fae1b8934b194560acd7e5e66 | |
parent | f0769be11c8d7d2bdb25b9769602faf826fa2fb8 (diff) | |
download | vaadin-framework-684c23af96e06dcd0c735f47b0f7e5ae1c555fdd.tar.gz vaadin-framework-684c23af96e06dcd0c735f47b0f7e5ae1c555fdd.zip |
Removing code causing the trouble (#11898)
* Removing code causing the trouble
Removing code that was apparently not needed in previous fix and caused regression
Fixes: https://github.com/vaadin/framework/issues/11895
* Added feature to test UI
* Added test case
* Adding missing import
* Fixing test UI
* Enable DateField
3 files changed, 26 insertions, 4 deletions
diff --git a/client/src/main/java/com/vaadin/client/ui/VAbstractCalendarPanel.java b/client/src/main/java/com/vaadin/client/ui/VAbstractCalendarPanel.java index 765df8867d..ff60fe154d 100644 --- a/client/src/main/java/com/vaadin/client/ui/VAbstractCalendarPanel.java +++ b/client/src/main/java/com/vaadin/client/ui/VAbstractCalendarPanel.java @@ -975,10 +975,6 @@ public abstract class VAbstractCalendarPanel<R extends Enum<R>> public void renderCalendar(boolean updateDate) { if (parent instanceof VAbstractPopupCalendar && !((VAbstractPopupCalendar) parent).popup.isShowing()) { - if (getDate() == null) { - // no date set, cannot pre-render yet - return; - } // a popup that isn't open cannot possibly need a focus change event updateDate = false; } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChange.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChange.java index 55b2823a1d..62ecb8428c 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChange.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChange.java @@ -30,9 +30,16 @@ public class DateFieldMonthResolutionStatusChange extends AbstractTestUI { dateField.setRangeEnd(LocalDate.of(2020, 1, 1)); }); + Button resetValueButton = new Button("Reset value"); + resetValueButton.setId("resetValue"); + resetValueButton.addClickListener(event -> { + dateField.setValue(LocalDate.now()); + }); + addComponent(dateField); addComponent(dateReadOnlySwitch); addComponent(addRangeButton); + addComponent(resetValueButton); } @Override diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChangeTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChangeTest.java index 58a926546c..0473a582e8 100644 --- a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChangeTest.java +++ b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChangeTest.java @@ -3,6 +3,7 @@ package com.vaadin.tests.components.datefield; import static org.junit.Assert.assertEquals; import org.junit.Test; +import org.openqa.selenium.By; import com.vaadin.testbench.elements.ButtonElement; import com.vaadin.testbench.elements.DateFieldElement; @@ -35,4 +36,22 @@ public class DateFieldMonthResolutionStatusChangeTest assertEquals("Unexpected date change.", "1/19", df.getValue()); } + @Test + public void testPopupOpenWithDateNotInRange() { + openTestURL(); + DateFieldElement df = $(DateFieldElement.class).first(); + + // switch read-only state + $(ButtonElement.class).id("readOnly").click(); + // set value before range + $(ButtonElement.class).id("resetValue").click(); + // add range, previously set date is not in range + $(ButtonElement.class).id("addRange").click(); + + // Test that popup still opens + df.openPopup(); + waitForElementPresent(By.className("v-datefield-popup")); + assertElementPresent(By.className("v-datefield-popup")); + } + } |