From a08faf0a54bfca4327bb37e1b01da46414dbda18 Mon Sep 17 00:00:00 2001 From: Jonatan Kronqvist Date: Wed, 7 Jul 2010 10:18:34 +0000 Subject: [PATCH] Fix for #5277 svn changeset:14128/svn branch:6.4 --- src/com/vaadin/ui/DateField.java | 63 +++- .../datefield/DateFieldEmptyValid.html | 282 +++++++++++------- .../datefield/DateFieldEmptyValid.java | 29 +- 3 files changed, 250 insertions(+), 124 deletions(-) diff --git a/src/com/vaadin/ui/DateField.java b/src/com/vaadin/ui/DateField.java index 9957365096..2e61699ac7 100644 --- a/src/com/vaadin/ui/DateField.java +++ b/src/com/vaadin/ui/DateField.java @@ -238,24 +238,35 @@ public class DateField extends AbstractField implements for (int r = resolution; r <= largestModifiable; r++) { switch (r) { case RESOLUTION_MSEC: - target.addVariable(this, "msec", currentDate != null ? calendar - .get(Calendar.MILLISECOND) : -1); + target.addVariable( + this, + "msec", + currentDate != null ? calendar + .get(Calendar.MILLISECOND) : -1); break; case RESOLUTION_SEC: - target.addVariable(this, "sec", currentDate != null ? calendar - .get(Calendar.SECOND) : -1); + target.addVariable(this, "sec", + currentDate != null ? calendar.get(Calendar.SECOND) + : -1); break; case RESOLUTION_MIN: - target.addVariable(this, "min", currentDate != null ? calendar - .get(Calendar.MINUTE) : -1); + target.addVariable(this, "min", + currentDate != null ? calendar.get(Calendar.MINUTE) + : -1); break; case RESOLUTION_HOUR: - target.addVariable(this, "hour", currentDate != null ? calendar - .get(Calendar.HOUR_OF_DAY) : -1); + target.addVariable( + this, + "hour", + currentDate != null ? calendar + .get(Calendar.HOUR_OF_DAY) : -1); break; case RESOLUTION_DAY: - target.addVariable(this, "day", currentDate != null ? calendar - .get(Calendar.DAY_OF_MONTH) : -1); + target.addVariable( + this, + "day", + currentDate != null ? calendar + .get(Calendar.DAY_OF_MONTH) : -1); break; case RESOLUTION_MONTH: target.addVariable(this, "month", @@ -263,8 +274,8 @@ public class DateField extends AbstractField implements : -1); break; case RESOLUTION_YEAR: - target.addVariable(this, "year", currentDate != null ? calendar - .get(Calendar.YEAR) : -1); + target.addVariable(this, "year", + currentDate != null ? calendar.get(Calendar.YEAR) : -1); break; } } @@ -527,6 +538,15 @@ public class DateField extends AbstractField implements } } + @Override + protected void setInternalValue(Object newValue) { + // Also set the internal dateString + if (newValue != null) { + dateString = newValue.toString(); + } + super.setInternalValue(newValue); + } + /** * Gets the resolution. * @@ -684,7 +704,24 @@ public class DateField extends AbstractField implements * Logically isEmpty() should return false also in the case that the * entered value is invalid. */ - return dateString == null || dateString.equals(""); + boolean empty = (dateString == null || dateString.equals("")); + return empty; + } + + @Override + public void valueChange(Property.ValueChangeEvent event) { + /* + * We also need to update the dateString if the value of the property + * data source changes. This has to be done before super fires the value + * change event in case someone checks isEmpty in a value change + * listener. + */ + Object value = getValue(); + if (value != null) { + dateString = value.toString(); + } + + super.valueChange(event); } /* diff --git a/tests/src/com/vaadin/tests/components/datefield/DateFieldEmptyValid.html b/tests/src/com/vaadin/tests/components/datefield/DateFieldEmptyValid.html index 3c09c59645..b180246839 100644 --- a/tests/src/com/vaadin/tests/components/datefield/DateFieldEmptyValid.html +++ b/tests/src/com/vaadin/tests/components/datefield/DateFieldEmptyValid.html @@ -12,186 +12,250 @@ DateFieldEmptyValid - open - /run/com.vaadin.tests.components.datefield.DateFieldEmptyValid?restartApplication - + open + /run/com.vaadin.tests.components.datefield.DateFieldEmptyValid?restartApplication + - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] - 2. isEmpty: false, isValid: true + waitForVaadin + + - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] - 1. DateField value is now 1973-03-03 + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 2. isEmpty: false, isValid: true - assertValue - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] - 3.3.1973 + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] + 1. DateField value is now 1973-03-03 - mouseClick - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] - 62,12 + assertValue + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] + 3.3.1973 - pressSpecialKey - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] - down + mouseClick + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] + 62,12 - pressSpecialKey - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::Root/VOverlay[0]/VCalendarPanel[0] - down + pressSpecialKey + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] + down - pressSpecialKey - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::Root/VOverlay[0]/VCalendarPanel[0] - down + pressSpecialKey + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::Root/VOverlay[0]/VCalendarPanel[0] + down - pressSpecialKey - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::Root/VOverlay[0]/VCalendarPanel[0] - left + pressSpecialKey + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::Root/VOverlay[0]/VCalendarPanel[0] + down - pressSpecialKey - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::Root/VOverlay[0]/VCalendarPanel[0] - left + pressSpecialKey + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::Root/VOverlay[0]/VCalendarPanel[0] + left - pressSpecialKey - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::Root/VOverlay[0]/VCalendarPanel[0] - enter + pressSpecialKey + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::Root/VOverlay[0]/VCalendarPanel[0] + left - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] - 4. isEmpty: false, isValid: true + pressSpecialKey + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::Root/VOverlay[0]/VCalendarPanel[0] + enter - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] - 3. DateField value is now Thu Mar 15 11:46:40 EET 1973 + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 4. isEmpty: false, isValid: true - assertValue - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] - 15.3.1973 + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] + 3. DateField value is now Thu Mar 15 11:46:40 EET 1973 - mouseClick - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] - 64,13 + assertValue + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] + 15.3.1973 - enterCharacter - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] - 15.3.1973d + mouseClick + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] + 64,13 - screenCapture - - InvalidDateIcon + enterCharacter + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] + 15.3.1973d - mouseClick - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/domChild[0]/domChild[2] - 208,5 + screenCapture + + InvalidDateIcon - click - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VButton[0]/domChild[0] - + mouseClick + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/domChild[0]/domChild[2] + 208,5 - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] - 6. isEmpty: false, isValid: false + click + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[7]/VButton[0]/domChild[0]/domChild[0] + - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] - 5. DateField value is now null + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 6. isEmpty: false, isValid: false - mouseClick - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] - 64,10 + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] + 5. DateField value is now null - enterCharacter - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] - 15.3.1973dd + mouseClick + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] + 64,10 - mouseClick - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/domChild[0]/domChild[2] - 186,10 + enterCharacter + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] + 15.3.1973dd - click - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VButton[0]/domChild[0]/domChild[0] - + mouseClick + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/domChild[0]/domChild[2] + 186,10 - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] - 8. isEmpty: false, isValid: false + click + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[7]/VButton[0]/domChild[0]/domChild[0] + - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] - 7. DateField value is now null + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 8. isEmpty: false, isValid: false - click - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]/domChild[0] - + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] + 7. DateField value is now null - assertValue - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] - + click + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]/domChild[0] + - click - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VButton[0]/domChild[0]/domChild[0] - + assertValue + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] + - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] - 9. DateField value is now null + click + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[7]/VButton[0]/domChild[0]/domChild[0] + - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] - 10. isEmpty: true, isValid: false + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] + 9. DateField value is now null - click - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VButton[0]/domChild[0]/domChild[0] - + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 10. isEmpty: true, isValid: false - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] - 12. isEmpty: false, isValid: true + click + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VButton[0]/domChild[0]/domChild[0] + - assertText - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] - 11. DateField value is now 1990-05-04 + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 12. isEmpty: false, isValid: true - assertValue - vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] - 4.5.1990 + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] + 11. DateField value is now 1990-05-04 + + + assertValue + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VPopupCalendar[0]/domChild[0] + 4.5.1990 + + + click + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VButton[0]/domChild[0]/domChild[0] + + + + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 14. isEmpty: false, isValid: true + + + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] + 13. DateField value is now 2000-06-05 + + + click + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]/domChild[0] + + + + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 16. isEmpty: true, isValid: false + + + click + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[5]/VButton[0]/domChild[0]/domChild[0] + + + + mouseClick + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 105,12 + + + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 20. isEmpty: false, isValid: true + + + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] + 19. DateField value is now 2000-06-05 + + + click + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[6]/VButton[0]/domChild[0]/domChild[0] + + + + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VLabel[0] + 26. isEmpty: false, isValid: true + + + assertText + vaadin=runcomvaadintestscomponentsdatefieldDateFieldEmptyValid::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0] + 25. DateField value is now 2005-08-27 - diff --git a/tests/src/com/vaadin/tests/components/datefield/DateFieldEmptyValid.java b/tests/src/com/vaadin/tests/components/datefield/DateFieldEmptyValid.java index cf0c4c69aa..05c1056095 100644 --- a/tests/src/com/vaadin/tests/components/datefield/DateFieldEmptyValid.java +++ b/tests/src/com/vaadin/tests/components/datefield/DateFieldEmptyValid.java @@ -5,15 +5,17 @@ import java.util.Locale; import com.vaadin.data.Property.ValueChangeEvent; import com.vaadin.data.Property.ValueChangeListener; +import com.vaadin.data.util.ObjectProperty; import com.vaadin.tests.components.TestBase; import com.vaadin.tests.util.Log; import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.DateField; import com.vaadin.ui.Label; import com.vaadin.ui.PopupDateField; -import com.vaadin.ui.Button.ClickEvent; -import com.vaadin.ui.Button.ClickListener; +@SuppressWarnings("serial") public class DateFieldEmptyValid extends TestBase { private Log log; @@ -68,6 +70,29 @@ public class DateFieldEmptyValid extends TestBase { }); addComponent(b); + b = new Button("Set date to 5.6.2000 using a property data source"); + b.addListener(new ClickListener() { + + public void buttonClick(ClickEvent event) { + ObjectProperty dfProp = new ObjectProperty(new Date( + 2000 - 1900, 6 - 1, 5), Date.class); + df.setPropertyDataSource(dfProp); + } + }); + addComponent(b); + + b = new Button( + "Set date to 27.8.2005 by changing a property data source from null"); + b.addListener(new ClickListener() { + + public void buttonClick(ClickEvent event) { + ObjectProperty dfProp = new ObjectProperty(null, Date.class); + df.setPropertyDataSource(dfProp); + dfProp.setValue(new Date(2005 - 1900, 8 - 1, 27)); + } + }); + addComponent(b); + b = new Button("Check value"); b.addListener(new ClickListener() { -- 2.39.5