]> source.dussan.org Git - vaadin-framework.git/commitdiff
merged test case from 6.1 by hand
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 30 Oct 2009 14:07:24 +0000 (14:07 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 30 Oct 2009 14:07:24 +0000 (14:07 +0000)
svn changeset:9523/svn branch:6.2

tests/src/com/vaadin/tests/validation/TestValidators.java

index 75eaa61ce441c3edec6d08152dd4b8a151530cd8..4917d7c65cd54c4aa339bd06387a2edce266eae1 100644 (file)
-package com.vaadin.tests.validation;\r
-\r
-import com.vaadin.data.Validator;\r
-import com.vaadin.data.validator.AbstractStringValidator;\r
-import com.vaadin.data.validator.CompositeValidator;\r
-import com.vaadin.data.validator.DoubleValidator;\r
-import com.vaadin.data.validator.EmailValidator;\r
-import com.vaadin.data.validator.IntegerValidator;\r
-import com.vaadin.data.validator.RegexpValidator;\r
-import com.vaadin.data.validator.StringLengthValidator;\r
-import com.vaadin.tests.components.TestBase;\r
-import com.vaadin.ui.Button;\r
-import com.vaadin.ui.Form;\r
-import com.vaadin.ui.TextField;\r
-import com.vaadin.ui.VerticalLayout;\r
-import com.vaadin.ui.Button.ClickEvent;\r
-import com.vaadin.ui.Button.ClickListener;\r
-import com.vaadin.ui.Window.Notification;\r
-\r
-public class TestValidators extends TestBase {\r
-\r
-    @Override\r
-    protected Integer getTicketNumber() {\r
-        return 680;\r
-    }\r
-\r
-    @Override\r
-    protected String getDescription() {\r
-        return "This test verifies that various validators work correctly";\r
-    }\r
-\r
-    @Override\r
-    public void setup() {\r
-        final Form form = new Form(new VerticalLayout());\r
-\r
-        // simple validators\r
-\r
-        TextField tf = new TextField("A field, must contain 1-2 chars");\r
-        tf\r
-                .addValidator(new StringLengthValidator("Invalid length", 1, 2,\r
-                        false));\r
-        tf.setRequired(true);\r
-        tf.setValue("ab");\r
-        form.addField("a", tf);\r
-\r
-        tf = new TextField("A field, must contain an integer");\r
-        tf.addValidator(new IntegerValidator("Invalid integer {0}"));\r
-        tf.setRequired(true);\r
-        tf.setValue("123");\r
-        form.addField("b", tf);\r
-\r
-        tf = new TextField("A field, must contain an integer or be empty");\r
-        tf.addValidator(new IntegerValidator("Invalid integer {0}"));\r
-        tf.setValue("-321");\r
-        form.addField("c", tf);\r
-\r
-        tf = new TextField(\r
-                "A field, must contain a floating point number or be empty");\r
-        tf.addValidator(new DoubleValidator("Invalid double {0}"));\r
-        tf.setValue("-123.45e6");\r
-        form.addField("d", tf);\r
-\r
-        tf = new TextField(\r
-                "A field, must contain an e-mail address or be empty");\r
-        tf.addValidator(new EmailValidator("Invalid e-mail address {0}"));\r
-        tf.setValue("a.b@example.com");\r
-        form.addField("e", tf);\r
-\r
-        // regular expressions\r
-\r
-        tf = new TextField("A field, must match the regular expression a.*b.*c");\r
-        tf.addValidator(new RegexpValidator("a.*b.*c",\r
-                "{0} does not match the regular expression"));\r
-        tf.setValue("aagsabeqgc");\r
-        form.addField("f", tf);\r
-\r
-        tf = new TextField(\r
-                "A field, must contain the regular expression a.*b.*c");\r
-        tf.addValidator(new RegexpValidator("a.*b.*c", false,\r
-                "{0} does not contain the regular expression"));\r
-        tf.setValue("aagsabeqgc");\r
-        form.addField("g", tf);\r
-\r
-        tf = new TextField(\r
-                "A field, must match the regular expression ^a.*b.*c$");\r
-        tf.addValidator(new RegexpValidator("^a.*b.*c$", false,\r
-                "{0} does not match the regular expression with ^ and $"));\r
-        tf.setValue("aagsabeqgc");\r
-        form.addField("h", tf);\r
-\r
-        tf = new TextField(\r
-                "A field, must contain the regular expression ^a.*b.*c$");\r
-        tf.addValidator(new RegexpValidator("^a.*b.*c$", false,\r
-                "{0} does not contain the regular expression with ^ and $"));\r
-        tf.setValue("aagsabeqgc");\r
-        form.addField("i", tf);\r
-\r
-        // TODO CompositeValidator\r
-        tf = new TextField(\r
-                "A field, must be a floating point number with 4-5 chars");\r
-        CompositeValidator cv = new CompositeValidator(\r
-                CompositeValidator.MODE_AND,\r
-                "The field must contain a floating point number with 4-5 characters");\r
-        cv\r
-                .addValidator(new StringLengthValidator(\r
-                        "String length of '{0}' should be 4-5 characters", 4,\r
-                        5, false));\r
-        cv.addValidator(new DoubleValidator(\r
-                "{0} must be a floating point number"));\r
-        tf.addValidator(cv);\r
-        tf.setValue("12.34");\r
-        form.addField("j", tf);\r
-\r
-        // Postal code that must be 5 digits (10000-99999).\r
-        tf = new TextField("Postal Code");\r
-        tf.setColumns(5);\r
-\r
-        // Create the validator - this would be even easier with RegexpValidator\r
-        Validator postalCodeValidator = new AbstractStringValidator(\r
-                "Postal code must be a number 10000-99999.") {\r
-            @Override\r
-            protected boolean isValidString(String value) {\r
-                return value.matches("[1-9][0-9]{4}");\r
-            }\r
-        };\r
-        tf.addValidator(postalCodeValidator);\r
-        tf.setValue("12345");\r
-        form.addField("k", tf);\r
-\r
-        Button b = new Button("Commit", new ClickListener() {\r
-\r
-            public void buttonClick(ClickEvent event) {\r
-                try {\r
-                    form.commit();\r
-                    if (form.isValid()) {\r
-                        getMainWindow().showNotification(\r
-                                "OK! Form validated and no error was thrown",\r
-                                Notification.TYPE_HUMANIZED_MESSAGE);\r
-                    } else {\r
-                        getMainWindow().showNotification(\r
-                                "Form is invalid but no exception was thrown",\r
-                                Notification.TYPE_ERROR_MESSAGE);\r
-                    }\r
-                } catch (Exception e) {\r
-                    if (form.isValid()) {\r
-                        getMainWindow().showNotification(\r
-                                "Form is valid but an exception was thrown",\r
-                                Notification.TYPE_ERROR_MESSAGE);\r
-                    } else {\r
-                        getMainWindow().showNotification(\r
-                                "OK! Error was thrown for an invalid input",\r
-                                Notification.TYPE_HUMANIZED_MESSAGE);\r
-\r
-                    }\r
-                }\r
-            }\r
-\r
-        });\r
-\r
-        addComponent(form);\r
-        addComponent(b);\r
-    }\r
-}\r
+package com.vaadin.tests.validation;
+
+import com.vaadin.data.Validator;
+import com.vaadin.data.validator.AbstractStringValidator;
+import com.vaadin.data.validator.CompositeValidator;
+import com.vaadin.data.validator.DoubleValidator;
+import com.vaadin.data.validator.EmailValidator;
+import com.vaadin.data.validator.IntegerValidator;
+import com.vaadin.data.validator.RegexpValidator;
+import com.vaadin.data.validator.StringLengthValidator;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Form;
+import com.vaadin.ui.TextField;
+import com.vaadin.ui.VerticalLayout;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.Window.Notification;
+
+public class TestValidators extends TestBase {
+
+    @Override
+    protected Integer getTicketNumber() {
+        return 680;
+    }
+
+    @Override
+    protected String getDescription() {
+        return "This test verifies that various validators work correctly";
+    }
+
+    @Override
+    public void setup() {
+        final Form form = new Form(new VerticalLayout());
+
+        // simple validators
+
+        TextField tf = new TextField("A field, must contain 1-2 chars");
+        tf
+                .addValidator(new StringLengthValidator("Invalid length", 1, 2,
+                        false));
+        tf.setRequired(true);
+        tf.setValue("ab");
+        form.addField("a", tf);
+
+        tf = new TextField("A field, must contain an integer");
+        tf.addValidator(new IntegerValidator("Invalid integer {0}"));
+        tf.setRequired(true);
+        tf.setValue("123");
+        form.addField("b", tf);
+
+        tf = new TextField("A field, must contain an integer or be empty");
+        tf.addValidator(new IntegerValidator("Invalid integer {0}"));
+        tf.setValue("-321");
+        form.addField("c", tf);
+
+        tf = new TextField(
+                "A field, must contain a floating point number or be empty");
+        tf.addValidator(new DoubleValidator("Invalid double {0}"));
+        tf.setValue("-123.45e6");
+        form.addField("d", tf);
+
+        tf = new TextField(
+                "A field, must contain an e-mail address or be empty");
+        tf.addValidator(new EmailValidator("Invalid e-mail address {0}"));
+        tf.setValue("a.b@example.com");
+        form.addField("e", tf);
+
+        // regular expressions
+
+        tf = new TextField("A field, must match the regular expression a.*b.*c");
+        tf.addValidator(new RegexpValidator("a.*b.*c",
+                "{0} does not match the regular expression"));
+        tf.setValue("aagsabeqgc");
+        form.addField("f", tf);
+
+        tf = new TextField(
+                "A field, must contain the regular expression a.*b.*c");
+        tf.addValidator(new RegexpValidator("a.*b.*c", false,
+                "{0} does not contain the regular expression"));
+        tf.setValue("aagsabeqgc");
+        form.addField("g", tf);
+
+        tf = new TextField(
+                "A field, must match the regular expression ^a.*b.*c$");
+        tf.addValidator(new RegexpValidator("^a.*b.*c$", false,
+                "{0} does not match the regular expression with ^ and $"));
+        tf.setValue("aagsabeqgc");
+        form.addField("h", tf);
+
+        tf = new TextField(
+                "A field, must contain the regular expression ^a.*b.*c$");
+        tf.addValidator(new RegexpValidator("^a.*b.*c$", false,
+                "{0} does not contain the regular expression with ^ and $"));
+        tf.setValue("aagsabeqgc");
+        form.addField("i", tf);
+
+        // TODO CompositeValidator
+        tf = new TextField(
+                "A field, must be a floating point number with 4-5 chars");
+        CompositeValidator cv = new CompositeValidator(
+                CompositeValidator.MODE_AND,
+                "The field must contain a floating point number with 4-5 characters");
+        cv
+                .addValidator(new StringLengthValidator(
+                        "String length of '{0}' should be 4-5 characters", 4,
+                        5, false));
+        cv.addValidator(new DoubleValidator(
+                "{0} must be a floating point number"));
+        tf.addValidator(cv);
+        tf.setValue("12.34");
+        form.addField("j", tf);
+
+        tf = new TextField(
+                "A field, must be a floating point number or 4-5 chars");
+        cv = new CompositeValidator(CompositeValidator.MODE_OR,
+                "The field must contain a floating point  or with 4-5 characters");
+        cv
+                .addValidator(new StringLengthValidator(
+                        "String length of '{0}' should be 4-5 characters", 4,
+                        5, false));
+        cv.addValidator(new DoubleValidator(
+                "{0} must be a floating point number"));
+        tf.addValidator(cv);
+        tf.setValue("12.34g");
+        form.addField("jb", tf);
+
+        // Postal code that must be 5 digits (10000-99999).
+        tf = new TextField("Postal Code");
+        tf.setColumns(5);
+
+        // Create the validator - this would be even easier with RegexpValidator
+        Validator postalCodeValidator = new AbstractStringValidator(
+                "Postal code must be a number 10000-99999.") {
+            @Override
+            protected boolean isValidString(String value) {
+                return value.matches("[1-9][0-9]{4}");
+            }
+        };
+        tf.addValidator(postalCodeValidator);
+        tf.setValue("12345");
+        form.addField("k", tf);
+
+        Button b = new Button("Commit", new ClickListener() {
+
+            public void buttonClick(ClickEvent event) {
+                try {
+                    form.commit();
+                    if (form.isValid()) {
+                        getMainWindow().showNotification(
+                                "OK! Form validated and no error was thrown",
+                                Notification.TYPE_HUMANIZED_MESSAGE);
+                    } else {
+                        getMainWindow().showNotification(
+                                "Form is invalid but no exception was thrown",
+                                Notification.TYPE_ERROR_MESSAGE);
+                    }
+                } catch (Exception e) {
+                    if (form.isValid()) {
+                        getMainWindow().showNotification(
+                                "Form is valid but an exception was thrown",
+                                Notification.TYPE_ERROR_MESSAGE);
+                    } else {
+                        getMainWindow().showNotification(
+                                "OK! Error was thrown for an invalid input",
+                                Notification.TYPE_HUMANIZED_MESSAGE);
+
+                    }
+                }
+            }
+
+        });
+
+        addComponent(form);
+        addComponent(b);
+    }
+}