You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DateFields.java 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package com.vaadin.tests.components.datefield;
  2. import java.time.LocalDate;
  3. import java.util.LinkedHashMap;
  4. import java.util.List;
  5. import java.util.Locale;
  6. import com.vaadin.annotations.Widgetset;
  7. import com.vaadin.shared.ui.datefield.DateResolution;
  8. import com.vaadin.tests.components.ComponentTestCase;
  9. import com.vaadin.ui.Component;
  10. import com.vaadin.ui.DateField;
  11. @SuppressWarnings("serial")
  12. @Widgetset("com.vaadin.DefaultWidgetSet")
  13. public class DateFields extends ComponentTestCase<DateField> {
  14. private static final Locale[] LOCALES = { Locale.US, Locale.TAIWAN,
  15. new Locale("fi", "FI") };
  16. @Override
  17. protected Class<DateField> getTestClass() {
  18. return DateField.class;
  19. }
  20. @Override
  21. protected void initializeComponents() {
  22. for (Locale locale : LOCALES) {
  23. DateField pd = createPopupDateField("Undefined width", "-1",
  24. locale);
  25. pd.setId("Locale-" + locale + "-undefined-wide");
  26. addTestComponent(pd);
  27. pd = createPopupDateField("500px width", "500px", locale);
  28. pd.setId("Locale-" + locale + "-500px-wide");
  29. addTestComponent(pd);
  30. pd = createPopupDateField("Initially empty", "", locale);
  31. pd.setValue(null);
  32. pd.setId("Locale-" + locale + "-initially-empty");
  33. addTestComponent(pd);
  34. }
  35. }
  36. private DateField createPopupDateField(String caption, String width,
  37. Locale locale) {
  38. DateField pd = new DateField(caption + "(" + locale + ")");
  39. pd.setWidth(width);
  40. pd.setValue(LocalDate.of(1970, 05, 23));
  41. pd.setLocale(locale);
  42. pd.setResolution(DateResolution.YEAR);
  43. return pd;
  44. }
  45. @Override
  46. protected String getTestDescription() {
  47. return "A generic test for PopupDateFields in different configurations";
  48. }
  49. @Override
  50. protected List<Component> createActions() {
  51. List<Component> actions = super.createActions();
  52. actions.add(createResolutionSelectAction());
  53. actions.add(createInputPromptSelectAction());
  54. return actions;
  55. }
  56. private Component createResolutionSelectAction() {
  57. LinkedHashMap<String, DateResolution> options = new LinkedHashMap<>();
  58. options.put("Year", DateResolution.YEAR);
  59. options.put("Month", DateResolution.MONTH);
  60. options.put("Day", DateResolution.DAY);
  61. return createSelectAction("Resolution", options, "Year",
  62. (field, value, data) -> field.setResolution(value));
  63. }
  64. private Component createInputPromptSelectAction() {
  65. LinkedHashMap<String, String> options = new LinkedHashMap<>();
  66. options.put("<none>", null);
  67. options.put("Please enter date", "Please enter date");
  68. options.put("åäöÅÄÖ", "åäöÅÄÖ");
  69. return createSelectAction("Input prompt", options, "<none>",
  70. new Command<DateField, String>() {
  71. @Override
  72. public void execute(DateField c, String value,
  73. Object data) {
  74. c.setPlaceholder(value);
  75. }
  76. });
  77. }
  78. }