aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoonas Lehtinen <joonas.lehtinen@itmill.com>2008-05-14 15:59:18 +0000
committerJoonas Lehtinen <joonas.lehtinen@itmill.com>2008-05-14 15:59:18 +0000
commitf085ac43d6529d634d5b2212f93c64c28c3b9483 (patch)
tree9cc271a9e753abd3a93d82d1942a7a894f62634b /src
parent1b465e5c912f6e5a344f2a7ddccef376756e83c3 (diff)
downloadvaadin-framework-f085ac43d6529d634d5b2212f93c64c28c3b9483.tar.gz
vaadin-framework-f085ac43d6529d634d5b2212f93c64c28c3b9483.zip
Testcase for #846
svn changeset:4487/svn branch:trunk
Diffstat (limited to 'src')
-rw-r--r--src/com/itmill/toolkit/tests/tickets/Ticket846.java58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket846.java b/src/com/itmill/toolkit/tests/tickets/Ticket846.java
new file mode 100644
index 0000000000..c9e2598c07
--- /dev/null
+++ b/src/com/itmill/toolkit/tests/tickets/Ticket846.java
@@ -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");
+ };
+ }));
+ }
+
+}