Browse Source

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
tags/8.11.0.alpha1
Tatu Lund 4 years ago
parent
commit
684c23af96
No account linked to committer's email address

+ 0
- 4
client/src/main/java/com/vaadin/client/ui/VAbstractCalendarPanel.java View File

@@ -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;
}

+ 7
- 0
uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChange.java View File

@@ -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

+ 19
- 0
uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldMonthResolutionStatusChangeTest.java View File

@@ -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"));
}

}

Loading…
Cancel
Save