diff options
author | Denis Anisimov <denis@vaadin.com> | 2016-09-27 10:41:37 +0300 |
---|---|---|
committer | Denis Anisimov <denis@vaadin.com> | 2016-09-30 06:56:18 +0000 |
commit | d36d63fefa3ab9f4908f97772bcc6499e4f52532 (patch) | |
tree | d2189db8f44601925a96435dedec031459eeed57 /uitest | |
parent | db3a91c9b4d8d0451c8f1c5e875f4c6f6f50324a (diff) | |
download | vaadin-framework-d36d63fefa3ab9f4908f97772bcc6499e4f52532.tar.gz vaadin-framework-d36d63fefa3ab9f4908f97772bcc6499e4f52532.zip |
Make AbstractDateField based on LocalDate (#125).
Change-Id: I33a4a4f0f3437a8d1733031a131afbe844c12afb
Diffstat (limited to 'uitest')
55 files changed, 167 insertions, 1075 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/RandomLayoutStress.java b/uitest/src/main/java/com/vaadin/tests/RandomLayoutStress.java index f15263203e..474ebc9988 100644 --- a/uitest/src/main/java/com/vaadin/tests/RandomLayoutStress.java +++ b/uitest/src/main/java/com/vaadin/tests/RandomLayoutStress.java @@ -16,6 +16,7 @@ package com.vaadin.tests; +import java.time.LocalDate; import java.util.Random; import com.vaadin.server.ExternalResource; @@ -184,13 +185,13 @@ public class RandomLayoutStress extends com.vaadin.server.LegacyApplication { // Datefield result = new TestDateField(); ((AbstractDateField) result).setStyleName("calendar"); - ((AbstractDateField) result).setValue(new java.util.Date()); + ((AbstractDateField) result).setValue(LocalDate.now()); result.setCaption("Calendar component " + caption); break; case 7: // Datefield result = new TestDateField(); - ((AbstractDateField) result).setValue(new java.util.Date()); + ((AbstractDateField) result).setValue(LocalDate.now()); result.setCaption("Calendar component " + caption); break; } diff --git a/uitest/src/main/java/com/vaadin/tests/components/TestDateField.java b/uitest/src/main/java/com/vaadin/tests/components/TestDateField.java index 26353e192b..6a3004ed65 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/TestDateField.java +++ b/uitest/src/main/java/com/vaadin/tests/components/TestDateField.java @@ -15,7 +15,7 @@ */ package com.vaadin.tests.components; -import java.util.Date; +import java.time.LocalDate; import com.vaadin.ui.AbstractDateField; @@ -48,9 +48,9 @@ public class TestDateField extends AbstractDateField { * @param caption * the caption <code>String</code> for the editor. * @param value - * the Date value. + * the {@link LocalDate} value. */ - public TestDateField(String caption, Date value) { + public TestDateField(String caption, LocalDate value) { setValue(value); setCaption(caption); } diff --git a/uitest/src/main/java/com/vaadin/tests/components/abstractfield/AbstractFieldTest.java b/uitest/src/main/java/com/vaadin/tests/components/abstractfield/AbstractFieldTest.java index 399174b2f6..7324f46d3c 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/abstractfield/AbstractFieldTest.java +++ b/uitest/src/main/java/com/vaadin/tests/components/abstractfield/AbstractFieldTest.java @@ -1,10 +1,10 @@ package com.vaadin.tests.components.abstractfield; -import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.Date; import java.util.Locale; import com.vaadin.data.HasValue.ValueChange; @@ -137,13 +137,13 @@ public abstract class AbstractFieldTest<T extends AbstractField<V>, V> // Distinguish between null and 'null' String value = "null"; if (o != null) { - if (o instanceof Date) { - Date d = (Date) o; - // Dec 31, 2068 23:09:26.531 - String pattern = "MMM d, yyyy HH:mm:ss.SSS"; - SimpleDateFormat format = new SimpleDateFormat(pattern, - new Locale("en", "US")); - value = format.format(d); + if (o instanceof LocalDate) { + LocalDate date = (LocalDate) o; + // Dec 31, 2068 + String pattern = "MMM d, yyyy"; + DateTimeFormatter format = DateTimeFormatter.ofPattern(pattern, + Locale.ENGLISH); + value = format.format(date); } else { value = "'" + o.toString() + "'"; } diff --git a/uitest/src/main/java/com/vaadin/tests/components/calendar/BeanItemContainerTestUI.java b/uitest/src/main/java/com/vaadin/tests/components/calendar/BeanItemContainerTestUI.java index e9d50a3a7e..0f468ae979 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/calendar/BeanItemContainerTestUI.java +++ b/uitest/src/main/java/com/vaadin/tests/components/calendar/BeanItemContainerTestUI.java @@ -21,7 +21,6 @@ import java.util.GregorianCalendar; import com.vaadin.event.Action; import com.vaadin.server.VaadinRequest; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.ui.FormLayout; import com.vaadin.ui.UI; import com.vaadin.ui.VerticalSplitPanel; @@ -31,6 +30,7 @@ import com.vaadin.v7.data.fieldgroup.FieldGroup; import com.vaadin.v7.data.fieldgroup.FieldGroup.CommitException; import com.vaadin.v7.data.util.BeanItem; import com.vaadin.v7.data.util.BeanItemContainer; +import com.vaadin.v7.shared.ui.datefield.Resolution; import com.vaadin.v7.ui.Calendar; import com.vaadin.v7.ui.DateField; import com.vaadin.v7.ui.Table; diff --git a/uitest/src/main/java/com/vaadin/tests/components/calendar/CalendarTest.java b/uitest/src/main/java/com/vaadin/tests/components/calendar/CalendarTest.java index 2b7fe664cd..b099de70e5 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/calendar/CalendarTest.java +++ b/uitest/src/main/java/com/vaadin/tests/components/calendar/CalendarTest.java @@ -27,7 +27,6 @@ import com.vaadin.data.Binder; import com.vaadin.data.ValidationException; import com.vaadin.server.VaadinRequest; import com.vaadin.shared.ui.MarginInfo; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.ui.Alignment; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; @@ -48,6 +47,7 @@ import com.vaadin.v7.data.fieldgroup.FieldGroup; import com.vaadin.v7.data.fieldgroup.FieldGroup.CommitException; import com.vaadin.v7.data.util.BeanItem; import com.vaadin.v7.shared.ui.combobox.FilteringMode; +import com.vaadin.v7.shared.ui.datefield.Resolution; import com.vaadin.v7.ui.Calendar; import com.vaadin.v7.ui.Calendar.TimeFormat; import com.vaadin.v7.ui.ComboBox; diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/AbstractDateFieldTest.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/AbstractDateFieldTest.java index 0d0e88b3cb..2e39af99d1 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/AbstractDateFieldTest.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/AbstractDateFieldTest.java @@ -2,8 +2,7 @@ package com.vaadin.tests.components.datefield; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; +import java.time.LocalDate; import java.util.LinkedHashMap; import java.util.Locale; @@ -13,7 +12,7 @@ import com.vaadin.tests.components.abstractfield.AbstractFieldTest; import com.vaadin.ui.AbstractDateField; public class AbstractDateFieldTest<T extends AbstractDateField> - extends AbstractFieldTest<T, Date> { + extends AbstractFieldTest<T, LocalDate> { @SuppressWarnings("unchecked") @Override @@ -21,10 +20,10 @@ public class AbstractDateFieldTest<T extends AbstractDateField> return (Class<T>) TestDateField.class; } - private Command<T, Date> setValue = new Command<T, Date>() { + private Command<T, LocalDate> setValue = new Command<T, LocalDate>() { @Override - public void execute(T c, Date value, Object data) { + public void execute(T c, LocalDate value, Object data) { c.setValue(value); } }; @@ -43,18 +42,10 @@ public class AbstractDateFieldTest<T extends AbstractDateField> } private void createSetValueAction(String category) { - LinkedHashMap<String, Date> options = new LinkedHashMap<>(); + LinkedHashMap<String, LocalDate> options = new LinkedHashMap<>(); options.put("(null)", null); - options.put("(current time)", new Date()); - Calendar c = Calendar.getInstance(new Locale("fi", "FI")); - c.clear(); - c.set(2010, 12 - 1, 12, 12, 0, 0); - c.set(Calendar.MILLISECOND, 0); - options.put("2010-12-12 12:00:00.000", c.getTime()); - c.clear(); - c.set(2000, 1 - 1, 2, 3, 4, 5); - c.set(Calendar.MILLISECOND, 6); - options.put("2000-01-02 03:04:05.006", c.getTime()); + options.put("(current time)", LocalDate.now()); + options.put("2010-12-12", LocalDate.of(2010, 12, 12)); createMultiClickAction("Set value", category, options, setValue, null); } @@ -103,9 +94,6 @@ public class AbstractDateFieldTest<T extends AbstractDateField> options.put("Year", Resolution.YEAR); options.put("Month", Resolution.MONTH); options.put("Day", Resolution.DAY); - options.put("Hour", Resolution.HOUR); - options.put("Min", Resolution.MINUTE); - options.put("Sec", Resolution.SECOND); createSelectAction("Resolution", category, options, "Year", resolutionCommand); diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormat.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormat.java index aa32fd3c4f..511b7fe3d4 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormat.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormat.java @@ -1,6 +1,6 @@ package com.vaadin.tests.components.datefield; -import java.util.Calendar; +import java.time.LocalDate; import java.util.Locale; import com.vaadin.shared.ui.datefield.Resolution; @@ -12,20 +12,16 @@ public class CustomDateFormat extends TestBase { @Override protected void setup() { - Locale locale = new Locale("fi", "FI"); - Calendar cal = Calendar.getInstance(); - cal.set(2010, 0, 1); - AbstractDateField df = new TestDateField(); df.setResolution(Resolution.DAY); df.setLocale(locale); df.setWidth("300px"); - String pattern = "d. MMMM'ta 'yyyy 'klo 'H.mm.ss"; + String pattern = "d. MMMM'ta 'yyyy 'klo"; df.setDateFormat(pattern); - df.setValue(cal.getTime()); + df.setValue(LocalDate.of(2010, 1, 1)); addComponent(df); diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormatEEE.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormatEEE.java index afbd6e828f..45828486cf 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormatEEE.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormatEEE.java @@ -15,7 +15,7 @@ */ package com.vaadin.tests.components.datefield; -import java.util.Calendar; +import java.time.LocalDate; import java.util.Locale; import com.vaadin.server.VaadinRequest; @@ -29,9 +29,6 @@ public class CustomDateFormatEEE extends AbstractTestUI { @Override protected void setup(VaadinRequest request) { - Calendar cal = Calendar.getInstance(); - cal.set(2014, 2, 14); // Friday - AbstractDateField df = new TestDateField( "Should display 14/03/2014 Fri"); df.setResolution(Resolution.DAY); @@ -39,7 +36,7 @@ public class CustomDateFormatEEE extends AbstractTestUI { String pattern = "dd/MM/yyyy EEE"; df.setDateFormat(pattern); - df.setValue(cal.getTime()); + df.setValue(LocalDate.of(2014, 3, 14)); // Friday df.setWidth("200px"); VerticalLayout layout = new VerticalLayout(); diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormats.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormats.java index 91a76f5269..f28ad7b104 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormats.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/CustomDateFormats.java @@ -2,7 +2,8 @@ package com.vaadin.tests.components.datefield; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Calendar; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.HashSet; import java.util.Locale; import java.util.Set; @@ -137,9 +138,6 @@ public class CustomDateFormats extends TestBase { private void addDateField(GridLayout gridLayout, String pattern, Locale locale, String expectedDateFormat) { - Calendar cal = Calendar.getInstance(); - cal.set(2010, 1, 1); - Label serversideValueLabel = new Label(); AbstractDateField df = new TestDateField(); @@ -158,16 +156,16 @@ public class CustomDateFormats extends TestBase { usedDebugIds.add(debugId); df.setData(new Data(serversideValueLabel, pattern)); - df.setValue(cal.getTime()); + df.setValue(LocalDate.of(2010, 2, 1)); df.addValueChangeListener(event -> updateServerSideLabel( (AbstractDateField) event.getConnector())); Label patternLabel = new Label(pattern); patternLabel.setWidth(null); - SimpleDateFormat expDateFormat = new SimpleDateFormat( - expectedDateFormat, locale); + DateTimeFormatter expDateFormat = DateTimeFormatter + .ofPattern(expectedDateFormat, locale); - Label expectedLabel = new Label(expDateFormat.format(cal.getTime())); + Label expectedLabel = new Label(expDateFormat.format(df.getValue())); if (!pattern.equals(expectedDateFormat)) { expectedLabel .setValue(expectedLabel.getValue() + " (differs from JDK)"); diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldChangeResolution.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldChangeResolution.java index ba8da59dfb..3305f9e229 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldChangeResolution.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldChangeResolution.java @@ -18,13 +18,13 @@ package com.vaadin.tests.components.datefield; import com.vaadin.server.VaadinRequest; import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.AbstractDateField; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Button.ClickListener; -import com.vaadin.ui.AbstractDateField; +import com.vaadin.ui.DateField; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Label; -import com.vaadin.ui.DateField; public class DateFieldChangeResolution extends AbstractTestUI { diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldDayResolutionOffset.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldDayResolutionOffset.java index 2e4d899f16..8fce5df8d3 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldDayResolutionOffset.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldDayResolutionOffset.java @@ -1,9 +1,7 @@ package com.vaadin.tests.components.datefield; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.TimeZone; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import com.vaadin.server.VaadinRequest; import com.vaadin.shared.ui.datefield.Resolution; @@ -14,16 +12,15 @@ import com.vaadin.ui.Label; public class DateFieldDayResolutionOffset extends AbstractTestUI { - private final String initialDateString = "09/01/2014 00:00:00"; + private final String initialDateString = "09/01/2014"; @Override protected void setup(VaadinRequest request) { final Label dateValue = new Label(initialDateString); dateValue.setId("dateValue"); - final TimeZone timezone = TimeZone.getTimeZone("GMT"); - final SimpleDateFormat dateformat = getDateFormat(timezone); - final AbstractDateField dateField = getDateField(timezone, dateformat); + final DateTimeFormatter dateformat = getDateFormat(); + final AbstractDateField dateField = getDateField(dateformat); addComponent(dateValue); addComponent(dateField); @@ -32,24 +29,18 @@ public class DateFieldDayResolutionOffset extends AbstractTestUI { .setValue(dateformat.format(dateField.getValue()))); } - private AbstractDateField getDateField(TimeZone timezone, - SimpleDateFormat dateformat) { + private AbstractDateField getDateField(DateTimeFormatter dateformat) { final AbstractDateField dateField = new TestDateField(); - try { - Date initialDate = dateformat.parse(initialDateString); - dateField.setResolution(Resolution.DAY); - dateField.setTimeZone(timezone); - dateField.setValue(initialDate); - } catch (ParseException e) { - e.printStackTrace(); - } + LocalDate initialDate = dateformat.parse(initialDateString, + LocalDate::from); + dateField.setResolution(Resolution.DAY); + dateField.setValue(initialDate); return dateField; } - private SimpleDateFormat getDateFormat(TimeZone timezone) { - final SimpleDateFormat dateformat = new SimpleDateFormat( - "MM/dd/yyyy HH:mm:ss"); - dateformat.setTimeZone(timezone); + private DateTimeFormatter getDateFormat() { + final DateTimeFormatter dateformat = DateTimeFormatter + .ofPattern("MM/dd/yyyy"); return dateformat; } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldEmptyValid.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldEmptyValid.java index 5e9df766d2..318634bcbe 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldEmptyValid.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldEmptyValid.java @@ -4,7 +4,6 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.shared.ui.label.ContentMode; import com.vaadin.tests.components.TestBase; import com.vaadin.tests.util.Log; @@ -15,6 +14,7 @@ import com.vaadin.ui.Label; import com.vaadin.v7.data.Property.ValueChangeEvent; import com.vaadin.v7.data.Property.ValueChangeListener; import com.vaadin.v7.data.util.ObjectProperty; +import com.vaadin.v7.shared.ui.datefield.Resolution; import com.vaadin.v7.ui.PopupDateField; @SuppressWarnings("serial") diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldExtendedRange.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldExtendedRange.java index 2a9b71ccaa..b75fb761d2 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldExtendedRange.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldExtendedRange.java @@ -1,27 +1,22 @@ package com.vaadin.tests.components.datefield; -import java.util.Calendar; +import java.time.LocalDate; import java.util.Locale; +import java.util.stream.Stream; import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.TestBase; -import com.vaadin.ui.Button; -import com.vaadin.ui.Button.ClickEvent; -import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.AbstractDateField; +import com.vaadin.ui.Button; +import com.vaadin.ui.DateField; import com.vaadin.ui.GridLayout; import com.vaadin.ui.InlineDateField; -import com.vaadin.ui.DateField; @SuppressWarnings("serial") public class DateFieldExtendedRange extends TestBase { - private Calendar date = Calendar.getInstance(); - @Override protected void setup() { - date.set(2011, 0, 1); - GridLayout layout = new GridLayout(2, 3); layout.setWidth("600px"); layout.setSpacing(true); @@ -49,15 +44,8 @@ public class DateFieldExtendedRange extends TestBase { addComponent(layout); - addComponent(new Button("Change date", new ClickListener() { - @Override - public void buttonClick(ClickEvent event) { - date.set(2010, 1, 16); - for (AbstractDateField f : fields) { - f.setValue(date.getTime()); - } - } - })); + addComponent(new Button("Change date", event -> Stream.of(fields) + .forEach(field -> field.setValue(LocalDate.of(2010, 2, 16))))); } @Override @@ -72,9 +60,10 @@ public class DateFieldExtendedRange extends TestBase { private AbstractDateField makeDateField(boolean isPopup, Locale locale, String caption) { - AbstractDateField df = isPopup ? new DateField() : new InlineDateField(); + AbstractDateField df = isPopup ? new DateField() + : new InlineDateField(); df.setResolution(Resolution.DAY); - df.setValue(date.getTime()); + df.setValue(LocalDate.of(2011, 1, 1)); df.setLocale(locale); df.setCaption(caption); return df; diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldIsValid.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldIsValid.java index f38e641b8b..0542961260 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldIsValid.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldIsValid.java @@ -1,7 +1,7 @@ package com.vaadin.tests.components.datefield; -import java.text.SimpleDateFormat; -import java.util.Date; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUIWithLog; @@ -22,7 +22,7 @@ public class DateFieldIsValid extends AbstractTestUIWithLog { } private String pattern = "dd/MM/yy"; - private SimpleDateFormat format = new SimpleDateFormat(pattern); + private DateTimeFormatter format = DateTimeFormatter.ofPattern(pattern); @Override protected void setup(VaadinRequest request) { @@ -45,7 +45,7 @@ public class DateFieldIsValid extends AbstractTestUIWithLog { * @param value * @return */ - protected String format(Date value) { + protected String format(LocalDate value) { if (value != null) { return format.format(value); } else { diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldKeyboardInput.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldKeyboardInput.java index 24b75d0603..b92ca393c9 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldKeyboardInput.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldKeyboardInput.java @@ -15,23 +15,19 @@ */ package com.vaadin.tests.components.datefield; -import java.util.Calendar; -import java.util.GregorianCalendar; -import java.util.Locale; +import java.time.LocalDate; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUI; -import com.vaadin.ui.Label; import com.vaadin.ui.DateField; +import com.vaadin.ui.Label; public class DateFieldKeyboardInput extends AbstractTestUI { @Override protected void setup(VaadinRequest request) { - Calendar c = new GregorianCalendar(Locale.ENGLISH); - c.set(2014, 0, 15); final DateField dateField = new DateField("Select date", - c.getTime()); + LocalDate.of(2014, 1, 15)); dateField.setDateFormat("dd.MM.yyyy"); addComponent(dateField); dateField.addValueChangeListener( diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldLocale.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldLocale.java index cf524f375c..1224b6aa73 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldLocale.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldLocale.java @@ -1,6 +1,6 @@ package com.vaadin.tests.components.datefield; -import java.util.Date; +import java.time.LocalDate; import java.util.Locale; import com.vaadin.shared.ui.datefield.Resolution; @@ -18,7 +18,7 @@ public class DateFieldLocale extends TestBase { final AbstractDateField dateField = new TestDateField("DateField"); dateField.setLocale(new Locale("fi", "FI")); dateField.setCaption(dateField.getLocale().toString()); - dateField.setValue(new Date(2013 - 1900, 7 - 1, 27)); + dateField.setValue(LocalDate.of(2013, 7, 27)); dateField.setResolution(Resolution.DAY); addComponent(new Button("Change locale", new ClickListener() { diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldMinResolution.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldMinResolution.java deleted file mode 100644 index 9b6faf201a..0000000000 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldMinResolution.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.vaadin.tests.components.datefield; - -import java.text.SimpleDateFormat; -import java.util.Calendar; - -import com.vaadin.shared.ui.datefield.Resolution; -import com.vaadin.tests.components.TestBase; -import com.vaadin.tests.components.TestDateField; -import com.vaadin.ui.AbstractDateField; -import com.vaadin.ui.InlineDateField; -import com.vaadin.ui.Label; - -public class DateFieldMinResolution extends TestBase { - - @Override - protected void setup() { - - final SimpleDateFormat dformat = new SimpleDateFormat( - "dd/MM/yyyy HH:mm"); - - Calendar cal = Calendar.getInstance(); - cal.set(2019, 1, 1, 1, 1); - - AbstractDateField df = new TestDateField("foo"); - df.setResolution(Resolution.MINUTE); - df.setDateFormat(dformat.toPattern()); - df.setValue(cal.getTime()); - df.setImmediate(true); - - addComponent(df); - - final Label lbl = new Label(dformat.format(cal.getTime())); - lbl.setCaption("Selected date"); - - InlineDateField idf = new InlineDateField("bar"); - idf.setResolution(Resolution.MINUTE); - idf.setDateFormat(dformat.toPattern()); - idf.setValue(cal.getTime()); - idf.setImmediate(true); - - idf.addValueChangeListener( - event -> lbl.setValue(dformat.format(event.getValue()))); - - addComponent(idf); - addComponent(lbl); - } - - @Override - protected String getDescription() { - return "When the time controls are visible the time should be directed directly to the textfield"; - } - - @Override - protected Integer getTicketNumber() { - return 5387; - } - -} diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldPopupOffScreen.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldPopupOffScreen.java index afcc5295e4..165a62b6e2 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldPopupOffScreen.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldPopupOffScreen.java @@ -1,9 +1,8 @@ package com.vaadin.tests.components.datefield; -import java.util.Date; +import java.time.LocalDate; import java.util.Locale; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.AbstractTestCase; import com.vaadin.tests.components.TestDateField; import com.vaadin.ui.AbstractDateField; @@ -59,10 +58,9 @@ public class DateFieldPopupOffScreen extends AbstractTestCase { private AbstractDateField createDateField() { AbstractDateField df = new TestDateField(); df.setLocale(new Locale("fi")); - df.setResolution(Resolution.SECOND); df.setDescription( "This is a long, multiline tooltip.<br/>It should always be on screen so it can be read."); - df.setValue(new Date(1000000L)); + df.setValue(LocalDate.of(2000, 1, 1)); return df; } } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldRangeValidation.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldRangeValidation.java index 7a1717cdb6..dceb6f1bb9 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldRangeValidation.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldRangeValidation.java @@ -4,7 +4,6 @@ import java.util.Date; import java.util.Locale; import com.vaadin.data.HasValue; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.TestBase; import com.vaadin.tests.util.CheckBoxWithPropertyDataSource; import com.vaadin.ui.CheckBox; @@ -119,7 +118,6 @@ public class DateFieldRangeValidation extends TestBase { private PopupDateField createDateField() { PopupDateField df = new PopupDateField(); df.setLocale(new Locale("en", "US")); - df.setResolution(Resolution.DAY); df.setBuffered(false); df.setImmediate(true); return df; diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldRanges.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldRanges.java index 5db5b815e4..7b8e547701 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldRanges.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldRanges.java @@ -1,5 +1,6 @@ package com.vaadin.tests.components.datefield; +import java.time.LocalDate; import java.util.Calendar; import java.util.Date; import java.util.Locale; @@ -54,9 +55,6 @@ public class DateFieldRanges extends AbstractTestUI { } private void initializeControlFields() { - resoSelect.addItem(Resolution.MINUTE); - resoSelect.addItem(Resolution.SECOND); - resoSelect.addItem(Resolution.HOUR); resoSelect.addItem(Resolution.DAY); resoSelect.addItem(Resolution.MONTH); resoSelect.addItem(Resolution.YEAR); @@ -225,9 +223,9 @@ public class DateFieldRanges extends AbstractTestUI { } private void updateValuesForDateField(AbstractDateField df) { - Date fromVal = fromRange.getValue(); - Date toVal = toRange.getValue(); - Date value = valueDF.getValue(); + LocalDate fromVal = fromRange.getValue(); + LocalDate toVal = toRange.getValue(); + LocalDate value = valueDF.getValue(); Resolution r = (Resolution) resoSelect.getValue(); boolean immediate = immediateCB.getValue(); diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldReadOnly.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldReadOnly.java index 84ac1c6106..513bb11f9e 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldReadOnly.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldReadOnly.java @@ -1,10 +1,9 @@ package com.vaadin.tests.components.datefield; -import java.util.Calendar; +import java.time.LocalDate; import java.util.Locale; import com.vaadin.server.VaadinRequest; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.tests.components.TestDateField; import com.vaadin.ui.AbstractDateField; @@ -28,8 +27,6 @@ public class DateFieldReadOnly extends AbstractTestUI { protected void setup(VaadinRequest request) { final AbstractDateField timeField = new TestDateField( "A read-only datefield"); - timeField.setResolution(Resolution.SECOND); - timeField.setDateFormat("HH:mm:ss"); timeField.setCaption(null); timeField.setIcon(null); timeField.setWidth("8em"); @@ -37,10 +34,7 @@ public class DateFieldReadOnly extends AbstractTestUI { timeField.setLocale(new Locale("fi")); // Set date so that testing always has same time - Calendar c = Calendar.getInstance(Locale.ENGLISH); - c.set(2009, 05, 12, 0, 0, 0); - - timeField.setValue(c.getTime()); + timeField.setValue(LocalDate.of(2009, 6, 12)); timeField.setReadOnly(true); addComponent(timeField); diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldTest.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldTest.java index 01e6500d35..4bff1505c0 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldTest.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldTest.java @@ -39,14 +39,6 @@ public class DateFieldTest extends AbstractDateFieldTest<DateField> { private void createTextEnabledAction(String category) { this.createBooleanAction("Text field enabled", category, true, - new Command<DateField, Boolean>() { - - @Override - public void execute(DateField c, Boolean value, - Object data) { - c.setTextFieldEnabled(value); - } - - }); + (field, value, data) -> field.setTextFieldEnabled(value)); } } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldTimezone.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldTimezone.java deleted file mode 100644 index 19120be547..0000000000 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldTimezone.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.vaadin.tests.components.datefield; - -import java.text.DateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Date; -import java.util.Locale; -import java.util.TimeZone; - -import com.vaadin.shared.ui.datefield.Resolution; -import com.vaadin.tests.components.TestBase; -import com.vaadin.tests.components.TestDateField; -import com.vaadin.tests.util.Log; -import com.vaadin.ui.AbstractDateField; -import com.vaadin.v7.data.Property; -import com.vaadin.v7.data.Property.ValueChangeEvent; -import com.vaadin.v7.shared.ui.combobox.FilteringMode; -import com.vaadin.v7.ui.ComboBox; - -public class DateFieldTimezone extends TestBase { - - private static final TimeZone UTC = TimeZone.getTimeZone("UTC"); - private static final Locale EN = Locale.ENGLISH; - private final Log log = new Log(5); - private final AbstractDateField dateField = new TestDateField(); - private static final String nullValue = ""; - - @Override - protected void setup() { - dateField.setResolution(Resolution.SECOND); - - ArrayList<String> timeZoneCodes = new ArrayList<>(); - timeZoneCodes.add(nullValue); - timeZoneCodes.addAll(Arrays.asList(TimeZone.getAvailableIDs())); - ComboBox timezoneSelector = new ComboBox("Select time zone", - timeZoneCodes) { - @Override - public String getItemCaption(Object itemId) { - if (itemId == nullValue || itemId == null) { - TimeZone timeZone = TimeZone.getDefault(); - return "Default time zone (" + timeZone.getDisplayName() - + ")"; - } else { - TimeZone timeZone = TimeZone.getTimeZone((String) itemId); - return itemId + " (" + timeZone.getDisplayName() + ")"; - } - } - }; - timezoneSelector.setValue("UTC"); - timezoneSelector.setImmediate(true); - timezoneSelector.setNullSelectionAllowed(true); - timezoneSelector.setNullSelectionItemId(nullValue); - timezoneSelector.setFilteringMode(FilteringMode.CONTAINS); - timezoneSelector.addListener(new Property.ValueChangeListener() { - @Override - public void valueChange(ValueChangeEvent event) { - Object value = event.getProperty().getValue(); - TimeZone timeZone; - if (value == nullValue || value == null) { - timeZone = null; - log.log("Change to default time zone " - + TimeZone.getDefault().getID()); - } else { - timeZone = TimeZone.getTimeZone((String) value); - log.log("Changed to time zone " + timeZone.getID()); - } - dateField.setTimeZone(timeZone); - } - }); - - Calendar cal = Calendar.getInstance(UTC); - cal.set(2010, 0, 1, 0, 0, 0); - cal.set(Calendar.MILLISECOND, 0); - - dateField.setValue(cal.getTime()); - dateField.setImmediate(true); - dateField.setTimeZone(cal.getTimeZone()); - dateField.setLocale(EN); - dateField.addValueChangeListener(event -> { - Date date = dateField.getValue(); - DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, - DateFormat.LONG, EN); - format.setTimeZone(UTC); - log.log("Date changed to " + format.format(date)); - }); - - addComponent(timezoneSelector); - addComponent(log); - addComponent(dateField); - } - - @Override - protected String getDescription() { - return "Tests the operation of the date field with different time zones"; - } - - @Override - protected Integer getTicketNumber() { - return Integer.valueOf(6066); - } - -} diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldUnparsableDate.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldUnparsableDate.java index 17c9f47c35..53f8bb1cb2 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldUnparsableDate.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldUnparsableDate.java @@ -1,6 +1,6 @@ package com.vaadin.tests.components.datefield; -import java.util.Date; +import java.time.LocalDate; import com.vaadin.data.Result; import com.vaadin.tests.components.TestBase; @@ -10,7 +10,7 @@ import com.vaadin.v7.data.util.converter.Converter; public class DateFieldUnparsableDate extends TestBase { public class MyDateField extends AbstractDateField { - Date oldDate = null; + LocalDate oldDate = null; public MyDateField(String caption) { super(caption); @@ -18,8 +18,8 @@ public class DateFieldUnparsableDate extends TestBase { } @Override - protected Result<Date> handleUnparsableDateString(String dateString) - throws Converter.ConversionException { + protected Result<LocalDate> handleUnparsableDateString( + String dateString) throws Converter.ConversionException { return Result.ok(oldDate); } } @@ -30,8 +30,8 @@ public class DateFieldUnparsableDate extends TestBase { } @Override - protected Result<Date> handleUnparsableDateString(String dateString) - throws Converter.ConversionException { + protected Result<LocalDate> handleUnparsableDateString( + String dateString) throws Converter.ConversionException { return Result.ok(null); } } @@ -42,8 +42,8 @@ public class DateFieldUnparsableDate extends TestBase { } @Override - protected Result<Date> handleUnparsableDateString(String dateString) - throws Converter.ConversionException { + protected Result<LocalDate> handleUnparsableDateString( + String dateString) throws Converter.ConversionException { return Result.error("You should not enter invalid dates!"); } } @@ -54,10 +54,10 @@ public class DateFieldUnparsableDate extends TestBase { } @Override - protected Result<Date> handleUnparsableDateString(String dateString) - throws Converter.ConversionException { + protected Result<LocalDate> handleUnparsableDateString( + String dateString) throws Converter.ConversionException { if (dateString != null && dateString.equals("today")) { - return Result.ok(new Date()); + return Result.ok(LocalDate.now()); } return Result.error("You should not enter invalid dates!"); } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldValueChangeEvents.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldValueChangeEvents.java deleted file mode 100644 index b100cd4c23..0000000000 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldValueChangeEvents.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2000-2016 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -/** - * - */ -package com.vaadin.tests.components.datefield; - -import java.util.Arrays; -import java.util.Calendar; - -import com.vaadin.server.VaadinRequest; -import com.vaadin.shared.ui.datefield.Resolution; -import com.vaadin.tests.components.AbstractTestUIWithLog; -import com.vaadin.tests.components.TestDateField; -import com.vaadin.ui.AbstractDateField; -import com.vaadin.ui.HorizontalLayout; -import com.vaadin.v7.data.Property.ValueChangeEvent; -import com.vaadin.v7.data.Property.ValueChangeListener; -import com.vaadin.v7.ui.NativeSelect; - -/** - * - * @since - * @author Vaadin Ltd - */ -public class DateFieldValueChangeEvents extends AbstractTestUIWithLog { - - private int count = 0; - - /* - * (non-Javadoc) - * - * @see com.vaadin.tests.components.AbstractTestUI#setup(com.vaadin.server. - * VaadinRequest) - */ - @Override - protected void setup(VaadinRequest request) { - - HorizontalLayout hl = new HorizontalLayout(); - addComponent(hl); - - Calendar calendar = Calendar.getInstance(); - calendar.set(2010, 1, 1, 18, 19, 20); - - final AbstractDateField df = new TestDateField(null, - calendar.getTime()); - df.setResolution(Resolution.SECOND); - df.setImmediate(true); - hl.addComponent(df); - - NativeSelect resolution = new NativeSelect(null, - Arrays.asList(Resolution.values())); - resolution.setImmediate(true); - resolution.setValue(df.getResolution()); - hl.addComponent(resolution); - resolution.addValueChangeListener(new ValueChangeListener() { - - @Override - public void valueChange(ValueChangeEvent event) { - df.setResolution((Resolution) event.getProperty().getValue()); - } - }); - - df.addValueChangeListener(event -> log("Value changes: " + (++count))); - } - - /* - * (non-Javadoc) - * - * @see com.vaadin.tests.components.AbstractTestUI#getTestDescription() - */ - @Override - protected String getTestDescription() { - return "DateField Time resolution fields should only send events when focus is removed"; - } - - /* - * (non-Javadoc) - * - * @see com.vaadin.tests.components.AbstractTestUI#getTicketNumber() - */ - @Override - protected Integer getTicketNumber() { - return 6252; - } - -} diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldWhenChangingValueAndEnablingParent.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldWhenChangingValueAndEnablingParent.java index 6a7550d0c8..0e19ed9490 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldWhenChangingValueAndEnablingParent.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFieldWhenChangingValueAndEnablingParent.java @@ -1,6 +1,6 @@ package com.vaadin.tests.components.datefield; -import java.util.Date; +import java.time.LocalDate; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUI; @@ -40,12 +40,12 @@ public class DateFieldWhenChangingValueAndEnablingParent main.addComponent(sub); chk.addValueChangeListener(event -> { - df1.setValue(new Date()); - df2.setValue(new Date()); - pdf1.setValue(new Date()); - pdf2.setValue(new Date()); - pdf3.setValue(new Date()); - pdf4.setValue(new Date()); + df1.setValue(LocalDate.now()); + df2.setValue(LocalDate.now()); + pdf1.setValue(LocalDate.now()); + pdf2.setValue(LocalDate.now()); + pdf3.setValue(LocalDate.now()); + pdf4.setValue(LocalDate.now()); sub.setEnabled(chk.getValue()); }); } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFields.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFields.java index ac77215245..6d6ab7c6a5 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFields.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateFields.java @@ -1,6 +1,6 @@ package com.vaadin.tests.components.datefield; -import java.sql.Date; +import java.time.LocalDate; import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; @@ -42,10 +42,9 @@ public class DateFields extends ComponentTestCase<DateField> { private DateField createPopupDateField(String caption, String width, Locale locale) { - DateField pd = new DateField( - caption + "(" + locale.toString() + ")"); + DateField pd = new DateField(caption + "(" + locale.toString() + ")"); pd.setWidth(width); - pd.setValue(new Date(12312312313L)); + pd.setValue(LocalDate.of(1970, 05, 23)); pd.setLocale(locale); pd.setResolution(Resolution.YEAR); @@ -70,19 +69,8 @@ public class DateFields extends ComponentTestCase<DateField> { options.put("Year", Resolution.YEAR); options.put("Month", Resolution.MONTH); options.put("Day", Resolution.DAY); - options.put("Hour", Resolution.HOUR); - options.put("Min", Resolution.MINUTE); - options.put("Sec", Resolution.SECOND); return createSelectAction("Resolution", options, "Year", - new Command<DateField, Resolution>() { - - @Override - public void execute(DateField c, Resolution value, - Object data) { - c.setResolution(value); - - } - }); + (field, value, data) -> field.setResolution(value)); } private Component createInputPromptSelectAction() { diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DatePopupStyleName.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DatePopupStyleName.java index 4e1c59c4a6..d08194681e 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DatePopupStyleName.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DatePopupStyleName.java @@ -1,9 +1,8 @@ package com.vaadin.tests.components.datefield; -import java.util.Date; +import java.time.LocalDate; import com.vaadin.server.UserError; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.TestBase; import com.vaadin.tests.components.TestDateField; import com.vaadin.ui.AbstractDateField; @@ -14,8 +13,7 @@ public class DatePopupStyleName extends TestBase { setTheme("reindeer-tests"); final AbstractDateField df = new TestDateField(); - df.setValue(new Date(1203910239L)); - df.setResolution(Resolution.SECOND); + df.setValue(LocalDate.of(1970, 1, 15)); df.setWidth("200px"); df.setRequired(true); df.setComponentError(new UserError("abc")); diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateRangeWithSqlDate.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DateRangeWithSqlDate.java deleted file mode 100644 index eb4044c4ae..0000000000 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DateRangeWithSqlDate.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2000-2016 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.vaadin.tests.components.datefield; - -import java.util.Locale; - -import com.vaadin.server.VaadinRequest; -import com.vaadin.tests.components.AbstractTestUI; -import com.vaadin.ui.AbstractDateField; -import com.vaadin.ui.InlineDateField; - -public class DateRangeWithSqlDate extends AbstractTestUI { - - // 2014-12-01 - private static final java.sql.Date startDate = new java.sql.Date( - 1417467822699L); - - // 2014-12-02 - private static final java.sql.Date endDate = new java.sql.Date( - 1417554763317L); - - @Override - protected void setup(VaadinRequest request) { - AbstractDateField df = new InlineDateField(); - df.setLocale(Locale.US); - df.setRangeStart(startDate); - df.setRangeEnd(endDate); - - df.setValue(startDate); - - addComponent(df); - } - - @Override - protected String getTestDescription() { - return "Test that java.sql.Date can be given to specify date range start and end dates."; - } - - @Override - protected Integer getTicketNumber() { - return 15342; - } - -} diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DisabledInlineDateField.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DisabledInlineDateField.java index 1669f3da22..855c90fa53 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DisabledInlineDateField.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DisabledInlineDateField.java @@ -15,8 +15,7 @@ */ package com.vaadin.tests.components.datefield; -import java.util.Calendar; -import java.util.Date; +import java.time.LocalDate; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUI; @@ -25,22 +24,16 @@ import com.vaadin.ui.InlineDateField; public class DisabledInlineDateField extends AbstractTestUI { - private static final Date testDate; - static { - Calendar cal = Calendar.getInstance(); - cal.set(2014, 5, 5); - testDate = cal.getTime(); - } - @Override protected void setup(VaadinRequest request) { AbstractDateField df = new InlineDateField("Disabled"); - df.setValue(testDate); + LocalDate date = LocalDate.of(2014, 6, 5); + df.setValue(date); df.setEnabled(false); addComponent(df); df = new InlineDateField("Read-only"); - df.setValue(testDate); + df.setValue(date); df.setReadOnly(true); addComponent(df); } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/DynamicallyChangeDateRange.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/DynamicallyChangeDateRange.java index b280f751fd..18dd47c392 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/DynamicallyChangeDateRange.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/DynamicallyChangeDateRange.java @@ -1,15 +1,15 @@ package com.vaadin.tests.components.datefield; -import java.util.Date; +import java.time.LocalDate; import java.util.Locale; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.AbstractDateField; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; -import com.vaadin.ui.AbstractDateField; -import com.vaadin.ui.InlineDateField; import com.vaadin.ui.DateField; +import com.vaadin.ui.InlineDateField; import com.vaadin.ui.VerticalLayout; /** @@ -26,12 +26,12 @@ public class DynamicallyChangeDateRange extends AbstractTestUI { setContent(layout); final DateField df = new DateField(); - df.setValue(new Date(2012 - 1900, 5 - 1, 12)); + df.setValue(LocalDate.of(2012, 5, 12)); setRange(df, 5); layout.addComponent(df); final InlineDateField df2 = new InlineDateField(); - df2.setValue(new Date(2012 - 1900, 11 - 1, 16)); + df2.setValue(LocalDate.of(2012, 11, 16)); setRange(df2, 5); // layout.addComponent(df2); @@ -57,16 +57,9 @@ public class DynamicallyChangeDateRange extends AbstractTestUI { layout.addComponent(button2); } - /** - * @since - * @param df - * @param i - */ private void setRange(AbstractDateField df, int days) { - df.setRangeStart( - new Date(df.getValue().getTime() - days * 24 * 60 * 60 * 1000)); - df.setRangeEnd( - new Date(df.getValue().getTime() + days * 24 * 60 * 60 * 1000)); + df.setRangeStart(df.getValue().minusDays(days)); + df.setRangeEnd(df.getValue().plusDays(days)); } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/InlineDateFields.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/InlineDateFields.java index 2c5f387292..19a44774a6 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/InlineDateFields.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/InlineDateFields.java @@ -1,6 +1,6 @@ package com.vaadin.tests.components.datefield; -import java.sql.Date; +import java.time.LocalDate; import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; @@ -49,7 +49,7 @@ public class InlineDateFields extends ComponentTestCase<InlineDateField> { InlineDateField pd = new InlineDateField( caption + "(" + locale.toString() + ")"); pd.setWidth(width); - pd.setValue(new Date(12312312313L)); + pd.setValue(LocalDate.of(1970, 05, 23)); pd.setLocale(locale); pd.setResolution(Resolution.YEAR); @@ -74,19 +74,8 @@ public class InlineDateFields extends ComponentTestCase<InlineDateField> { options.put("Year", Resolution.YEAR); options.put("Month", Resolution.MONTH); options.put("Day", Resolution.DAY); - options.put("Hour", Resolution.HOUR); - options.put("Min", Resolution.MINUTE); - options.put("Sec", Resolution.SECOND); return createSelectAction("Resolution", options, "Year", - new Command<InlineDateField, Resolution>() { - - @Override - public void execute(InlineDateField c, Resolution value, - Object data) { - c.setResolution(value); - - } - }); + (field, value, data) -> field.setResolution(value)); } private Component createLocaleSelectAction() { diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/LegacyDateFieldRanges.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/LegacyDateFieldRanges.java index 36e58e0b13..05a7c6aa3d 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/LegacyDateFieldRanges.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/LegacyDateFieldRanges.java @@ -6,7 +6,6 @@ import java.util.Locale; import com.vaadin.server.VaadinRequest; import com.vaadin.shared.ui.MarginInfo; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; @@ -17,6 +16,7 @@ import com.vaadin.ui.Label; import com.vaadin.ui.VerticalLayout; import com.vaadin.v7.data.Property.ValueChangeEvent; import com.vaadin.v7.data.Property.ValueChangeListener; +import com.vaadin.v7.shared.ui.datefield.Resolution; import com.vaadin.v7.ui.DateField; import com.vaadin.v7.ui.InlineDateField; import com.vaadin.v7.ui.NativeSelect; diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/LegacyDateFieldTest.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/LegacyDateFieldTest.java index 8d42f1a561..fa95971870 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/LegacyDateFieldTest.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/LegacyDateFieldTest.java @@ -7,8 +7,8 @@ import java.util.Date; import java.util.LinkedHashMap; import java.util.Locale; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.abstractfield.LegacyAbstractFieldTest; +import com.vaadin.v7.shared.ui.datefield.Resolution; import com.vaadin.v7.ui.DateField; public class LegacyDateFieldTest<T extends DateField> diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/LenientMode.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/LenientMode.java index 1e108fca15..a9d978c9e4 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/LenientMode.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/LenientMode.java @@ -1,6 +1,6 @@ package com.vaadin.tests.components.datefield; -import java.util.Date; +import java.time.LocalDate; import java.util.Locale; import com.vaadin.data.HasValue.ValueChange; @@ -11,7 +11,8 @@ import com.vaadin.tests.components.TestDateField; import com.vaadin.ui.AbstractDateField; import com.vaadin.ui.Button; -public class LenientMode extends TestBase implements ValueChangeListener<Date> { +public class LenientMode extends TestBase + implements ValueChangeListener<LocalDate> { private static final long serialVersionUID = -9064553409580072387L; @@ -28,8 +29,7 @@ public class LenientMode extends TestBase implements ValueChangeListener<Date> { @Override protected void setup() { - @SuppressWarnings("deprecation") - Date d = new Date(2009 - 1900, 12 - 1, 31, 23, 59, 59); + LocalDate d = LocalDate.of(2009, 12, 31); AbstractDateField df = new TestDateField("Lenient "); df.setLocale(new Locale("fi")); @@ -76,7 +76,7 @@ public class LenientMode extends TestBase implements ValueChangeListener<Date> { } @Override - public void accept(ValueChange<Date> event) { + public void accept(ValueChange<LocalDate> event) { getMainWindow().showNotification("New value" + event.getValue()); } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/LocaleChange.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/LocaleChange.java deleted file mode 100644 index 71e4db4076..0000000000 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/LocaleChange.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2000-2016 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.vaadin.tests.components.datefield; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; - -import com.vaadin.server.VaadinRequest; -import com.vaadin.shared.ui.datefield.Resolution; -import com.vaadin.tests.components.AbstractTestUI; -import com.vaadin.tests.components.TestDateField; -import com.vaadin.ui.AbstractDateField; -import com.vaadin.ui.Button; -import com.vaadin.ui.Button.ClickEvent; -import com.vaadin.ui.Button.ClickListener; - -public class LocaleChange extends AbstractTestUI { - - private final Locale locale12hClock = Locale.US; - private final Locale locale24hClock = Locale.FRANCE; - - private final String caption = "Switch to %s hour clock"; - private static final Date dateValue; - static { - try { - dateValue = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss") - .parse("2014-05-22 20:00:00"); - } catch (ParseException e) { - throw new ExceptionInInitializerError("Should never happen."); - } - } - - @Override - protected void setup(VaadinRequest request) { - final AbstractDateField df = new TestDateField(); - df.setLocale(locale24hClock); - df.setResolution(Resolution.SECOND); - df.setValue(dateValue); - - Button button = new Button(String.format(caption, "12")); - button.addClickListener(new ClickListener() { - - @Override - public void buttonClick(ClickEvent event) { - if (locale12hClock.equals(df.getLocale())) { - df.setLocale(locale24hClock); - event.getButton().setCaption(String.format(caption, "12")); - } else { - df.setLocale(locale12hClock); - event.getButton().setCaption(String.format(caption, "24")); - } - } - }); - - addComponent(df); - addComponent(button); - } - - @Override - protected String getTestDescription() { - return "Testing locale change from one with 24h clock to a 12h clock locale."; - } - - @Override - protected Integer getTicketNumber() { - return 13722; - } -}
\ No newline at end of file diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/LowResolution.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/LowResolution.java index c5a1d371b4..da2fad276c 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/LowResolution.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/LowResolution.java @@ -1,11 +1,13 @@ package com.vaadin.tests.components.datefield; +import java.time.LocalDate; + import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.TestBase; import com.vaadin.ui.Button; import com.vaadin.ui.CheckBox; -import com.vaadin.ui.InlineDateField; import com.vaadin.ui.DateField; +import com.vaadin.ui.InlineDateField; @SuppressWarnings("serial") public class LowResolution extends TestBase { @@ -13,7 +15,7 @@ public class LowResolution extends TestBase { @Override protected void setup() { final DateField dateField = new DateField(); - dateField.setValue(new java.util.Date()); + dateField.setValue(LocalDate.now()); dateField.setResolution(Resolution.MONTH); dateField.addValueChangeListener(event -> getMainWindow() .showNotification("Date now" + event.getValue())); @@ -29,7 +31,7 @@ public class LowResolution extends TestBase { getLayout().addComponent(dateField3); final InlineDateField dateField2 = new InlineDateField(); - dateField2.setValue(new java.util.Date()); + dateField2.setValue(LocalDate.now()); dateField2.setResolution(Resolution.MONTH); dateField2.addValueChangeListener(event -> getMainWindow() .showNotification("Date now" + event.getValue())); diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupClosingWithEsc.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupClosingWithEsc.java index 64c24beec9..0bd2191587 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupClosingWithEsc.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupClosingWithEsc.java @@ -26,10 +26,6 @@ public class PopupClosingWithEsc extends AbstractTestUI { @Override protected void setup(VaadinRequest request) { - AbstractDateField df0 = new TestDateField("Minute"); - df0.setId("minute"); - df0.setResolution(Resolution.MINUTE); - AbstractDateField df1 = new TestDateField("Day"); df1.setId("day"); df1.setResolution(Resolution.DAY); @@ -45,7 +41,7 @@ public class PopupClosingWithEsc extends AbstractTestUI { VerticalLayout layout = new VerticalLayout(); layout.setMargin(true); layout.setSpacing(true); - layout.addComponents(df0, df1, df2, df3); + layout.addComponents(df1, df2, df3); setContent(layout); } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldExtendedRange.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldExtendedRange.java index ed4b2d8d77..4a65358516 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldExtendedRange.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldExtendedRange.java @@ -1,25 +1,20 @@ package com.vaadin.tests.components.datefield; -import java.util.Calendar; +import java.time.LocalDate; import java.util.Locale; +import java.util.stream.Stream; import com.vaadin.server.VaadinRequest; import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.ui.Button; -import com.vaadin.ui.Button.ClickEvent; -import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.DateField; @SuppressWarnings("serial") public class PopupDateFieldExtendedRange extends AbstractTestUI { - private Calendar date = Calendar.getInstance(); - @Override protected void setup(VaadinRequest request) { - date.set(2011, 0, 1); - getLayout().setSpacing(true); final DateField[] fields = new DateField[3]; @@ -41,15 +36,8 @@ public class PopupDateFieldExtendedRange extends AbstractTestUI { addComponent(f); } - addComponent(new Button("Change date", new ClickListener() { - @Override - public void buttonClick(ClickEvent event) { - date.set(2010, 1, 16); - for (DateField f : fields) { - f.setValue(date.getTime()); - } - } - })); + addComponent(new Button("Change date", event -> Stream.of(fields) + .forEach(field -> field.setValue(LocalDate.of(2010, 2, 16))))); } @Override @@ -65,7 +53,7 @@ public class PopupDateFieldExtendedRange extends AbstractTestUI { private DateField makeDateField() { DateField pdf = new DateField(); pdf.setResolution(Resolution.DAY); - pdf.setValue(date.getTime()); + pdf.setValue(LocalDate.of(2011, 1, 1)); return pdf; } } diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.java deleted file mode 100644 index 5ea0eb0e70..0000000000 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.vaadin.tests.components.datefield; - -import java.util.Calendar; -import java.util.Locale; - -import com.vaadin.server.VaadinRequest; -import com.vaadin.shared.ui.datefield.Resolution; -import com.vaadin.tests.components.AbstractTestUI; -import com.vaadin.ui.DateField; - -public class PopupDateFieldLocaleTest extends AbstractTestUI { - - @Override - protected void setup(VaadinRequest request) { - // Set a specific time for the PopupDateField - Calendar cal = Calendar.getInstance(); - cal.set(Calendar.YEAR, 2000); - cal.set(Calendar.DAY_OF_YEAR, 1); - cal.set(Calendar.HOUR_OF_DAY, 1); - cal.set(Calendar.MINUTE, 1); - cal.set(Calendar.SECOND, 1); - cal.set(Calendar.MILLISECOND, 1); - - final DateField pdf = new DateField(); - pdf.setLocale(Locale.ENGLISH); - pdf.setValue(cal.getTime()); - pdf.setImmediate(true); - pdf.setResolution(Resolution.SECOND); - addComponent(pdf); - - pdf.addValueChangeListener(event -> pdf.setLocale(Locale.FRENCH)); - } - - @Override - protected String getTestDescription() { - return "Changing the locale while the popupdatefield is visible can " - + "result in the locale remaining at the previous value; the locale " - + "is only changed once the current month is changed."; - } - - @Override - protected Integer getTicketNumber() { - return 12135; - } - -} diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldPopup.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldPopup.java deleted file mode 100644 index a2d276fde3..0000000000 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldPopup.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.vaadin.tests.components.datefield; - -import java.util.Calendar; -import java.util.Locale; - -import com.vaadin.shared.ui.datefield.Resolution; -import com.vaadin.tests.components.TestBase; -import com.vaadin.ui.DateField; - -public class PopupDateFieldPopup extends TestBase { - - @Override - protected void setup() { - // Set a specific time for the PopupDateField - Calendar cal = Calendar.getInstance(); - cal.set(Calendar.YEAR, 2000); - cal.set(Calendar.DAY_OF_YEAR, 1); - cal.set(Calendar.HOUR_OF_DAY, 1); - cal.set(Calendar.MINUTE, 1); - cal.set(Calendar.SECOND, 1); - cal.set(Calendar.MILLISECOND, 1); - - DateField pdf = new DateField(); - pdf.setLocale(Locale.US); - pdf.setValue(cal.getTime()); - pdf.setImmediate(true); - pdf.setResolution(Resolution.SECOND); - addComponent(pdf); - } - - @Override - protected String getDescription() { - return "Changing the minute, second and millisecond parts should also result in an update of the PopupDateField popup contents."; - } - - @Override - protected Integer getTicketNumber() { - return 8391; - } - -} diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldStates.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldStates.java index bcfb00e88c..d094b058eb 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldStates.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/PopupDateFieldStates.java @@ -1,13 +1,11 @@ package com.vaadin.tests.components.datefield; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; +import java.time.LocalDate; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUI; -import com.vaadin.ui.GridLayout; import com.vaadin.ui.DateField; +import com.vaadin.ui.GridLayout; @SuppressWarnings("serial") public class PopupDateFieldStates extends AbstractTestUI { @@ -39,14 +37,7 @@ public class PopupDateFieldStates extends AbstractTestUI { final boolean textFieldEnabled) { final DateField popupDatefield = new DateField(); - Calendar cal = GregorianCalendar.getInstance(); - cal.set(Calendar.DATE, 3); - cal.set(Calendar.MONTH, Calendar.SEPTEMBER); - cal.set(Calendar.YEAR, 2014); - cal.set(Calendar.HOUR_OF_DAY, 8); - final Date currentDate = cal.getTime(); - - popupDatefield.setValue(currentDate); + popupDatefield.setValue(LocalDate.of(2014, 9, 3)); popupDatefield.setCaption("Enabled: " + enabled + ", Text field enabled: " + textFieldEnabled); popupDatefield.setEnabled(enabled); diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/TestDatefieldYear.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/TestDatefieldYear.java index da8860c111..997f04fac4 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/TestDatefieldYear.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/TestDatefieldYear.java @@ -1,6 +1,6 @@ package com.vaadin.tests.components.datefield; -import java.util.Date; +import java.time.LocalDate; import java.util.Locale; import com.vaadin.shared.ui.datefield.Resolution; @@ -24,7 +24,7 @@ public class TestDatefieldYear extends TestBase { protected void setup() { @SuppressWarnings("deprecation") AbstractDateField df = new TestDateField("Year", - new Date(2009 - 1900, 4 - 1, 1)); + LocalDate.of(2009, 4, 1)); df.setLocale(new Locale("en", "US")); df.setResolution(Resolution.YEAR); df.setResolution(Resolution.MONTH); diff --git a/uitest/src/main/java/com/vaadin/tests/components/datefield/WidthRecalculationOnEnableStateChange.java b/uitest/src/main/java/com/vaadin/tests/components/datefield/WidthRecalculationOnEnableStateChange.java index 6c83ee4b0e..0f253edce4 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/datefield/WidthRecalculationOnEnableStateChange.java +++ b/uitest/src/main/java/com/vaadin/tests/components/datefield/WidthRecalculationOnEnableStateChange.java @@ -1,8 +1,7 @@ package com.vaadin.tests.components.datefield; -import java.util.Date; +import java.time.LocalDate; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.TestBase; import com.vaadin.tests.components.TestDateField; import com.vaadin.ui.AbstractDateField; @@ -15,8 +14,7 @@ public class WidthRecalculationOnEnableStateChange extends TestBase { setTheme("reindeer-tests"); final AbstractDateField df = new TestDateField(); - df.setValue(new Date(1203910239L)); - df.setResolution(Resolution.SECOND); + df.setValue(LocalDate.of(1970, 1, 15)); df.setWidth("200px"); df.addStyleName("enabled-readonly-styled"); addComponent(df); diff --git a/uitest/src/main/java/com/vaadin/tests/components/uitest/components/DatesCssTest.java b/uitest/src/main/java/com/vaadin/tests/components/uitest/components/DatesCssTest.java index c6dbd4e025..26e45e7541 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/uitest/components/DatesCssTest.java +++ b/uitest/src/main/java/com/vaadin/tests/components/uitest/components/DatesCssTest.java @@ -1,7 +1,6 @@ package com.vaadin.tests.components.uitest.components; -import java.util.Calendar; -import java.util.GregorianCalendar; +import java.time.LocalDate; import com.vaadin.tests.components.TestDateField; import com.vaadin.tests.components.uitest.TestSampler; @@ -17,7 +16,7 @@ public class DatesCssTest extends GridLayout { private TestSampler parent; private int debugIdCounter = 0; - private Calendar cal = new GregorianCalendar(2012, 8, 11, 18, 00, 00); + private LocalDate date = LocalDate.of(2012, 9, 11); public DatesCssTest(TestSampler parent) { super(5, 2); @@ -31,12 +30,12 @@ public class DatesCssTest extends GridLayout { AbstractDateField df = new DateField("Popup date field"); df.setId("datefield" + debugIdCounter++); - df.setValue(cal.getTime()); + df.setValue(date); addComponent(df); df = new InlineDateField("Inline date field"); df.setId("datefield" + debugIdCounter++); - df.setValue(cal.getTime()); + df.setValue(date); addComponent(df); createDateFieldWith(null, null, "130px"); @@ -50,7 +49,7 @@ public class DatesCssTest extends GridLayout { String width) { AbstractDateField df = new TestDateField("Date field"); df.setId("datefield" + debugIdCounter++); - df.setValue(cal.getTime()); + df.setValue(date); if (caption != null) { df.setCaption(caption); diff --git a/uitest/src/main/java/com/vaadin/tests/themes/valo/CalendarTest.java b/uitest/src/main/java/com/vaadin/tests/themes/valo/CalendarTest.java index bd3473246e..d8d7d73d7c 100644 --- a/uitest/src/main/java/com/vaadin/tests/themes/valo/CalendarTest.java +++ b/uitest/src/main/java/com/vaadin/tests/themes/valo/CalendarTest.java @@ -11,7 +11,6 @@ import com.vaadin.data.Binder; import com.vaadin.data.ValidationException; import com.vaadin.navigator.View; import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.calendar.CalendarTestEvent; import com.vaadin.ui.Alignment; import com.vaadin.ui.Button; @@ -34,6 +33,7 @@ import com.vaadin.v7.data.fieldgroup.FieldGroup; import com.vaadin.v7.data.fieldgroup.FieldGroup.CommitException; import com.vaadin.v7.data.util.BeanItem; import com.vaadin.v7.shared.ui.combobox.FilteringMode; +import com.vaadin.v7.shared.ui.datefield.Resolution; import com.vaadin.v7.ui.Calendar; import com.vaadin.v7.ui.Calendar.TimeFormat; import com.vaadin.v7.ui.ComboBox; diff --git a/uitest/src/main/java/com/vaadin/tests/themes/valo/DateFields.java b/uitest/src/main/java/com/vaadin/tests/themes/valo/DateFields.java index c9797709da..4346d1c64b 100644 --- a/uitest/src/main/java/com/vaadin/tests/themes/valo/DateFields.java +++ b/uitest/src/main/java/com/vaadin/tests/themes/valo/DateFields.java @@ -15,7 +15,7 @@ */ package com.vaadin.tests.themes.valo; -import java.util.Date; +import java.time.LocalDate; import java.util.Locale; import com.vaadin.navigator.View; @@ -77,7 +77,7 @@ public class DateFields extends VerticalLayout implements View { Button today = new Button("Today", new ClickListener() { @Override public void buttonClick(ClickEvent event) { - date2.setValue(new Date()); + date2.setValue(LocalDate.now()); } }); group.addComponent(today); @@ -88,27 +88,6 @@ public class DateFields extends VerticalLayout implements View { date.setWidth("260px"); date.setHeight("60px"); - date = new TestDateField("Second resolution"); - setDate(date); - date.setResolution(Resolution.SECOND); - row.addComponent(date); - - date = new TestDateField("Minute resolution"); - setDate(date); - date.setResolution(Resolution.MINUTE); - row.addComponent(date); - - date = new TestDateField("Hour resolution"); - setDate(date); - date.setResolution(Resolution.HOUR); - row.addComponent(date); - - date = new TestDateField("Disabled"); - setDate(date); - date.setResolution(Resolution.HOUR); - date.setEnabled(false); - row.addComponent(date); - date = new TestDateField("Day resolution"); setDate(date); date.setResolution(Resolution.DAY); @@ -167,12 +146,6 @@ public class DateFields extends VerticalLayout implements View { date.setShowISOWeekNumbers(true); row.addComponent(date); - date = new TestDateField("US locale"); - setDate(date); - date.setResolution(Resolution.SECOND); - date.setLocale(new Locale("en", "US")); - row.addComponent(date); - date = new TestDateField("Custom format"); setDate(date); date.setDateFormat("E dd/MM/yyyy"); @@ -218,20 +191,19 @@ public class DateFields extends VerticalLayout implements View { private void setDateRange(AbstractDateField date) { date.setRangeStart(getDefaultDate()); - Date endDate = getDefaultDate(); - endDate.setMonth(endDate.getMonth() + 1); - date.setRangeEnd(endDate); + LocalDate endDate = getDefaultDate(); + date.setRangeEnd(endDate.plusMonths(1)); } private void setDate(AbstractDateField date) { date.setValue(getDefaultDate()); } - private Date getDefaultDate() { + private LocalDate getDefaultDate() { if (ValoThemeUI.isTestMode()) { - return new Date(2014 - 1900, 5, 7); + return LocalDate.of(2014, 6, 7); } else { - return new Date(); + return LocalDate.now(); } } diff --git a/uitest/src/main/java/com/vaadin/tests/themes/valo/Forms.java b/uitest/src/main/java/com/vaadin/tests/themes/valo/Forms.java index a47e3af78b..b6eb923cb3 100644 --- a/uitest/src/main/java/com/vaadin/tests/themes/valo/Forms.java +++ b/uitest/src/main/java/com/vaadin/tests/themes/valo/Forms.java @@ -15,7 +15,7 @@ */ package com.vaadin.tests.themes.valo; -import java.util.Date; +import java.time.LocalDate; import com.vaadin.navigator.View; import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent; @@ -71,7 +71,7 @@ public class Forms extends VerticalLayout implements View { form.addComponent(name); AbstractDateField birthday = new TestDateField("Birthday"); - birthday.setValue(new Date(80, 0, 31)); + birthday.setValue(LocalDate.of(1980, 1, 31)); form.addComponent(birthday); TextField username = new TextField("Username"); diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldChangeResolutionTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldChangeResolutionTest.java index 23aca038ae..975bb93d2f 100644 --- a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldChangeResolutionTest.java +++ b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldChangeResolutionTest.java @@ -31,8 +31,7 @@ import com.vaadin.tests.tb3.MultiBrowserTest; public class DateFieldChangeResolutionTest extends MultiBrowserTest { private WebElement dateFieldButton, textField; - private WebElement resolutionSecond, resolutionMinute, resolutionHour, - resolutionDay, resolutionMonth, resolutionYear; + private WebElement resolutionDay, resolutionMonth, resolutionYear; @Test public void changeResolutionBetweenYearAndMonth() throws Exception { @@ -44,15 +43,6 @@ public class DateFieldChangeResolutionTest extends MultiBrowserTest { } @Test - public void changeResolutionBetweenYearAndSecond() throws Exception { - initialize(); - click(resolutionSecond); - checkHeaderAndBody(Resolution.SECOND, true); - click(resolutionYear); - checkHeaderAndBody(Resolution.YEAR, true); - } - - @Test public void changeResolutionToDayThenMonth() throws Exception { initialize(); checkHeaderAndBody(Resolution.YEAR, true); // check the initial state @@ -75,12 +65,8 @@ public class DateFieldChangeResolutionTest extends MultiBrowserTest { textField.getAttribute("value").isEmpty()); // Change resolutions and check that the selected date is not lost and // that the calendar has the correct resolution. - click(resolutionHour); - checkHeaderAndBody(Resolution.HOUR, false); click(resolutionYear); checkHeaderAndBody(Resolution.YEAR, false); - click(resolutionMinute); - checkHeaderAndBody(Resolution.MINUTE, false); } private void initialize() { @@ -90,9 +76,6 @@ public class DateFieldChangeResolutionTest extends MultiBrowserTest { .findElement(By.className("v-datefield-button")); textField = dateField .findElement(By.className("v-datefield-textfield")); - resolutionSecond = driver.findElement(By.id(BUTTON_BASE_ID + "second")); - resolutionMinute = driver.findElement(By.id(BUTTON_BASE_ID + "minute")); - resolutionHour = driver.findElement(By.id(BUTTON_BASE_ID + "hour")); resolutionDay = driver.findElement(By.id(BUTTON_BASE_ID + "day")); resolutionMonth = driver.findElement(By.id(BUTTON_BASE_ID + "month")); resolutionYear = driver.findElement(By.id(BUTTON_BASE_ID + "year")); @@ -105,14 +88,12 @@ public class DateFieldChangeResolutionTest extends MultiBrowserTest { sleep(100); // Open the popup calendar, perform checks and close the popup. openPopupDateField(); - if (resolution.getCalendarField() >= Resolution.MONTH - .getCalendarField()) { + if (resolution.compareTo(Resolution.MONTH) <= 0) { checkMonthHeader(); } else { checkYearHeader(); } - if (resolution.getCalendarField() >= Resolution.DAY - .getCalendarField()) { + if (resolution.compareTo(Resolution.DAY) <= 0) { assertTrue( "A calendar with the chosen resolution should have a body", calendarHasBody()); diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldDayResolutionOffsetTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldDayResolutionOffsetTest.java index ffe8239da1..62ba7b293e 100644 --- a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldDayResolutionOffsetTest.java +++ b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldDayResolutionOffsetTest.java @@ -21,7 +21,7 @@ public class DateFieldDayResolutionOffsetTest extends MultiBrowserTest { select2ndOfSeptember(); LabelElement dateValue = $(LabelElement.class).id("dateValue"); - assertThat(dateValue.getText(), is("09/02/2014 00:00:00")); + assertThat(dateValue.getText(), is("09/02/2014")); } private void select2ndOfSeptember() { @@ -35,7 +35,8 @@ public class DateFieldDayResolutionOffsetTest extends MultiBrowserTest { } private void openDatePicker() { - AbstractDateFieldElement dateField = $(AbstractDateFieldElement.class).first(); + AbstractDateFieldElement dateField = $(AbstractDateFieldElement.class) + .first(); dateField.findElement(By.tagName("button")).click(); } diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldReadOnlyTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldReadOnlyTest.java index 0791b3dd9c..0d1ceb4545 100644 --- a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldReadOnlyTest.java +++ b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldReadOnlyTest.java @@ -17,15 +17,15 @@ public class DateFieldReadOnlyTest extends MultiBrowserTest { throws IOException, InterruptedException { openTestURL(); - compareScreen("initial"); + compareScreen("initial-date"); toggleReadOnly(); openPopup(); - compareScreen("readwrite-popup"); + compareScreen("readwrite-popup-date"); closePopup(); toggleReadOnly(); - compareScreen("readonly"); + compareScreen("readonly-date"); } private void closePopup() { @@ -36,8 +36,8 @@ public class DateFieldReadOnlyTest extends MultiBrowserTest { private void openPopup() { // waiting for openPopup() in TB4 beta1: // http://dev.vaadin.com/ticket/13766 - $(AbstractDateFieldElement.class).first().findElement(By.tagName("button")) - .click(); + $(AbstractDateFieldElement.class).first() + .findElement(By.tagName("button")).click(); } private void toggleReadOnly() { diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldValueChangeEventsTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldValueChangeEventsTest.java deleted file mode 100644 index 5f6373ee57..0000000000 --- a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldValueChangeEventsTest.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2000-2016 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.vaadin.tests.components.datefield; - -import org.junit.Assert; -import org.junit.Test; -import org.openqa.selenium.Keys; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.interactions.Actions; -import org.openqa.selenium.support.ui.Select; - -import com.vaadin.testbench.By; -import com.vaadin.testbench.customelements.AbstractDateFieldElement; -import com.vaadin.testbench.elements.LabelElement; -import com.vaadin.testbench.elements.NativeSelectElement; -import com.vaadin.tests.tb3.MultiBrowserTest; - -public class DateFieldValueChangeEventsTest extends MultiBrowserTest { - - @Test - public void tb2test() throws Exception { - openTestURL(); - getPopUpButton().click(); - getCalendarDayElement(2, 1).click(); - Assert.assertEquals("1. Value changes: 1", getLogRow(0)); - getPopUpButton().click(); - new Select(getHoursSelect()).selectByValue("01"); - new Select(getMinutesSelect()).selectByValue("02"); - new Select(getSecondsSelect()).selectByValue("03"); - new Actions(driver).sendKeys(getSecondsSelect(), Keys.ENTER).perform(); - $(LabelElement.class).first().click(); - Assert.assertEquals("2. Value changes: 2", getLogRow(0)); - getResolutionSelect().selectByText("Month"); - getPopUpButton().click(); - getNextMonthButton().click(); - getNextYearButton().click(); - getNextMonthButton().click(); - getNextMonthButton().sendKeys(Keys.ENTER); - Assert.assertEquals("3. Value changes: 3", getLogRow(0)); - } - - public WebElement getPopUpButton() { - AbstractDateFieldElement datefield = $(AbstractDateFieldElement.class).first(); - return datefield.findElement((By.className("v-datefield-button"))); - } - - public WebElement getCalendarDayElement(int row, int col) { - return findElement(By - .xpath("//table[@id='PID_VAADIN_POPUPCAL']/tbody/tr[2]/td/table/tbody/tr[" - + (row + 2) + "]/td[" + (col + 2) + "]/span")); - } - - public WebElement getHoursSelect() { - return findElement(By.xpath( - "//table[@id='PID_VAADIN_POPUPCAL']/tbody/tr[3]/td/div/select")); - } - - public WebElement getMinutesSelect() { - return findElement(By.xpath( - "//table[@id='PID_VAADIN_POPUPCAL']/tbody/tr[3]/td/div/select[2]")); - } - - public WebElement getSecondsSelect() { - return findElement(By.xpath( - "//table[@id='PID_VAADIN_POPUPCAL']/tbody/tr[3]/td/div/select[3]")); - } - - public NativeSelectElement getResolutionSelect() { - return $(NativeSelectElement.class).first(); - } - - public WebElement getNextMonthButton() { - return findElement((By.className("v-button-nextmonth"))); - } - - public WebElement getNextYearButton() { - return findElement((By.className("v-button-nextyear"))); - } -} diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateRangeWithSqlDateTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateRangeWithSqlDateTest.java deleted file mode 100644 index 3e5c380b52..0000000000 --- a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateRangeWithSqlDateTest.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2000-2016 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.vaadin.tests.components.datefield; - -import static org.junit.Assert.assertEquals; - -import java.util.List; - -import org.junit.Test; -import org.openqa.selenium.By; -import org.openqa.selenium.WebElement; - -import com.vaadin.tests.tb3.MultiBrowserTest; - -public class DateRangeWithSqlDateTest extends MultiBrowserTest { - - @Test - public void testDateRange() { - openTestURL(); - - // Get all cells of the inline datefield. - List<WebElement> cells = driver.findElements( - By.className("v-inline-datefield-calendarpanel-day")); - - // Verify the range is rendered correctly. - assertCell(cells.get(0), "30", true); - assertCell(cells.get(1), "1", false); - assertCell(cells.get(2), "2", false); - assertCell(cells.get(3), "3", true); - } - - private void assertCell(WebElement cell, String text, - boolean outsideRange) { - assertEquals(text, cell.getText()); - assertEquals(outsideRange, - cell.getAttribute("class").contains("outside-range")); - } - -} diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/LocaleChangeTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/LocaleChangeTest.java deleted file mode 100644 index 16f6e046db..0000000000 --- a/uitest/src/test/java/com/vaadin/tests/components/datefield/LocaleChangeTest.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2000-2016 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -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.parallel.BrowserUtil; -import com.vaadin.tests.tb3.MultiBrowserTest; - -public class LocaleChangeTest extends MultiBrowserTest { - - @Test - public void testLocaleChange() { - openTestURL(); - - // Check the initial value and that popup can be opened. - assertEquals("22/05/14 20:00:00", getDateValue()); - toggleDatePopup(); - assertPopupOpen(true); - - // Close the popup and change the locale. - toggleDatePopupWorkaroundClosePopupIE(); - assertPopupOpen(false); - driver.findElement(By.className("v-button")).click(); // Locale change. - - // Check that the value has changed and the popup can still be opened - // without problems. - assertEquals("5/22/14 08:00:00 PM", getDateValue()); - toggleDatePopup(); - assertPopupOpen(true); - } - - private void assertPopupOpen(boolean open) { - assertEquals("Date popup was not " + (open ? "open" : "closed") + ".", - (open ? 1 : 0), - driver.findElements(By.className("v-datefield-popup")).size()); - } - - private void toggleDatePopup() { - driver.findElement(By.className("v-datefield-button")).click(); - } - - /* - * Work around bug reported in ticket #14086. Delete this method once fixed - * andd use toggleDatePopup() instead. - */ - private void toggleDatePopupWorkaroundClosePopupIE() { - if (!BrowserUtil.isIE(getDesiredCapabilities())) { - driver.findElement(By.className("v-datefield-button")).click(); - } else { - boolean popupOpen = driver - .findElements(By.className("v-datefield-popup")) - .size() == 1; - if (popupOpen) { - driver.findElement( - By.className("v-datefield-calendarpanel-day-selected")) - .click(); - } else { - driver.findElement(By.className("v-datefield-button")).click(); - } - } - } - - private String getDateValue() { - return driver.findElement(By.className("v-datefield-textfield")) - .getAttribute("value"); - } -} diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/PopupClosingWithEscTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/PopupClosingWithEscTest.java index 8f91e6cc5b..49ca030eb4 100644 --- a/uitest/src/test/java/com/vaadin/tests/components/datefield/PopupClosingWithEscTest.java +++ b/uitest/src/test/java/com/vaadin/tests/components/datefield/PopupClosingWithEscTest.java @@ -21,28 +21,12 @@ import static org.junit.Assert.assertTrue; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.Keys; -import org.openqa.selenium.WebElement; import com.vaadin.tests.tb3.MultiBrowserTest; public class PopupClosingWithEscTest extends MultiBrowserTest { @Test - public void testPopupClosingFromTimeSelect() { - openTestURL(); - - openPopup("minute"); - assertTrue(isPopupVisible()); - - // Send ESC to the select element to simulate user being - // focused on the select while hitting the ESC key. - WebElement select = driver.findElement( - By.cssSelector(".v-datefield-popup select:first-child")); - select.sendKeys(Keys.ESCAPE); - assertFalse(isPopupVisible()); - } - - @Test public void testPopupClosingDayResolution() { testPopupClosing("day"); } |