]> source.dussan.org Git - vaadin-framework.git/commitdiff
Testcase for #846
authorJoonas Lehtinen <joonas.lehtinen@itmill.com>
Wed, 14 May 2008 15:59:18 +0000 (15:59 +0000)
committerJoonas Lehtinen <joonas.lehtinen@itmill.com>
Wed, 14 May 2008 15:59:18 +0000 (15:59 +0000)
svn changeset:4487/svn branch:trunk

src/com/itmill/toolkit/tests/tickets/Ticket846.java [new file with mode: 0644]

diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket846.java b/src/com/itmill/toolkit/tests/tickets/Ticket846.java
new file mode 100644 (file)
index 0000000..c9e2598
--- /dev/null
@@ -0,0 +1,58 @@
+package com.itmill.toolkit.tests.tickets;
+
+import java.util.Collections;
+import java.util.LinkedList;
+
+import sun.net.www.http.Hurryable;
+
+import com.itmill.toolkit.Application;
+import com.itmill.toolkit.data.Validator;
+import com.itmill.toolkit.data.util.MethodProperty;
+import com.itmill.toolkit.ui.Button;
+import com.itmill.toolkit.ui.TextField;
+import com.itmill.toolkit.ui.Window;
+
+public class Ticket846 extends Application {
+
+       @Override
+       public void init() {
+
+               final Window mainWin = new Window("Test app for #846");
+               setMainWindow(mainWin);
+
+               final TextField tx = new TextField("Integer");
+               mainWin.addComponent(tx);
+               tx.setImmediate(true);
+               tx.addValidator(new Validator() {
+
+                       public boolean isValid(Object value) {
+                               try {
+                                       Integer.parseInt("" + value);
+                                       return true;
+                               } catch (NumberFormatException e) {
+                                       return false;
+                               }
+                       }
+
+                       public void validate(Object value) throws InvalidValueException {
+                               if (!isValid(value))
+                                       throw new InvalidValueException(value + " is not a number");
+                       }
+               });
+               
+               for (String props : new String[] {"required","invalidAllowed","readOnly","readThrough","invalidCommitted"}) {
+                       Button b = new Button(props,new MethodProperty(tx,props));
+                       b.setImmediate(true);
+                       mainWin.addComponent(b);
+               }
+
+               mainWin.addComponent(new Button("Validate integer",
+                               new Button.ClickListener() {
+                                       public void buttonClick(
+                                                       com.itmill.toolkit.ui.Button.ClickEvent event) {
+                                               mainWin.showNotification("The field is " + (tx.isValid()?"":"not ") + "valid");
+                                       };
+                               }));
+       }
+
+}