aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTatu Lund <tatu@vaadin.com>2020-02-24 12:51:20 +0200
committerGitHub <noreply@github.com>2020-02-24 12:51:20 +0200
commit684c23af96e06dcd0c735f47b0f7e5ae1c555fdd (patch)
tree665020453afcdd5fae1b8934b194560acd7e5e66
parentf0769be11c8d7d2bdb25b9769602faf826fa2fb8 (diff)
downloadvaadin-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
-rw-r--r--client/src/main/java/com/vaadin/client/ui/VAbstractCalendarPanel.java4
-rw-r--r--uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChange.java7
-rw-r--r--uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChangeTest.java19
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"));
+ }
+
}