aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/com/vaadin/tests/components/datefield/RequiredInvalidDateField.java
diff options
context:
space:
mode:
Diffstat (limited to 'uitest/src/com/vaadin/tests/components/datefield/RequiredInvalidDateField.java')
-rw-r--r--uitest/src/com/vaadin/tests/components/datefield/RequiredInvalidDateField.java89
1 files changed, 89 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/datefield/RequiredInvalidDateField.java b/uitest/src/com/vaadin/tests/components/datefield/RequiredInvalidDateField.java
new file mode 100644
index 0000000000..bd47622394
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/datefield/RequiredInvalidDateField.java
@@ -0,0 +1,89 @@
+package com.vaadin.tests.components.datefield;
+
+import java.util.Date;
+import java.util.Locale;
+
+import com.vaadin.data.Property;
+import com.vaadin.data.Validator;
+import com.vaadin.data.util.ObjectProperty;
+import com.vaadin.data.validator.AbstractValidator;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.DateField;
+
+public class RequiredInvalidDateField extends TestBase {
+
+ @SuppressWarnings("deprecation")
+ @Override
+ protected void setup() {
+ // StringLengthValidator textValidator = new StringLengthValidator(
+ // "String length must be 2-4");
+ // textValidator.setMinLength(2);
+ // textValidator.setMaxLength(4);
+ //
+ // // not required
+ // TextField tf1 = new TextField();
+ // tf1.addValidator(textValidator);
+ // tf1.setImmediate(true);
+ // addComponent(tf1);
+ //
+ // // required
+ // TextField tf2 = new TextField();
+ // tf2.addValidator(textValidator);
+ // tf2.setRequired(true);
+ // tf2.setImmediate(true);
+ // addComponent(tf2);
+
+ Date date = new Date(2011 - 1900, 9 - 1, 1);
+
+ Validator dateValidator = new AbstractValidator<Date>(
+ "Day of month must be an even number") {
+
+ @Override
+ protected boolean isValidValue(Date value) {
+ if (value == null) {
+ return true;
+ }
+
+ return (value.getDate() % 2 == 0);
+ }
+
+ @Override
+ public Class getType() {
+ return Date.class;
+ }
+ };
+
+ // not required
+ Property<Date> dateProperty1 = new ObjectProperty<Date>(date);
+ DateField dateField1 = new DateField("Not required", dateProperty1);
+ dateField1.setLocale(new Locale("fi", "FI"));
+ dateField1.setResolution(DateField.RESOLUTION_DAY);
+ dateField1.setId("_DF1");
+ dateField1.setImmediate(true);
+ dateField1.addValidator(dateValidator);
+ addComponent(dateField1);
+
+ // required
+ Property<Date> dateProperty2 = new ObjectProperty<Date>(date);
+ DateField dateField2 = new DateField("Required", dateProperty2);
+ dateField2.setLocale(new Locale("fi", "FI"));
+ dateField2.setResolution(DateField.RESOLUTION_DAY);
+ dateField2.setId("_DF2");
+ dateField2.setRequired(true);
+ dateField2.setImmediate(true);
+ dateField2.addValidator(dateValidator);
+ addComponent(dateField2);
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Error indicator should be shown for a DateField with an "
+ + "invalid value, also when the field is required";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 6770;
+ }
+
+}