From 62e1a63d5cd60b45b85f9fa27a7f52f9cfdc8894 Mon Sep 17 00:00:00 2001 From: Joonas Lehtinen Date: Fri, 24 Oct 2008 13:35:27 +0000 Subject: [PATCH] Test for #1900 svn changeset:5718/svn branch:trunk --- .../toolkit/tests/tickets/Ticket1900.java | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/com/itmill/toolkit/tests/tickets/Ticket1900.java diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket1900.java b/src/com/itmill/toolkit/tests/tickets/Ticket1900.java new file mode 100644 index 0000000000..7365401a65 --- /dev/null +++ b/src/com/itmill/toolkit/tests/tickets/Ticket1900.java @@ -0,0 +1,80 @@ +package com.itmill.toolkit.tests.tickets; + +import com.itmill.toolkit.Application; +import com.itmill.toolkit.data.Property; +import com.itmill.toolkit.data.Validator; +import com.itmill.toolkit.data.Property.ValueChangeEvent; +import com.itmill.toolkit.ui.TextField; +import com.itmill.toolkit.ui.Window; + +public class Ticket1900 extends Application { + + TextField f[] = new TextField[5]; + Window main = new Window("#1900 test"); + + @Override + public void init() { + + setMainWindow(main); + + for (int i = 0; i < 5; i++) { + final int j = i; + f[i] = new TextField("Testcase " + i); + f[i].setImmediate(true); + f[i].setRequired(true); + main.addComponent(f[i]); + f[i].addListener(new Property.ValueChangeListener() { + public void valueChange(ValueChangeEvent event) { + main.showNotification("Validity test", "Testcase " + j + + " is " + (f[j].isValid() ? "valid" : "invalid")); + } + }); + f[i].addValidator(new ContainsValidator("1")); + f[i].addValidator(new ContainsValidator("2")); + + } + + f[0].setDescription("Field is empty, requiredError(null): *"); + + f[1] + .setDescription("Field is empty, requiredError(\"foo\"): * (popup shows the validation error)"); + f[1].setRequiredError("The field must not be empty"); + + f[2] + .setDescription("Field is non-empty, validators do not give validation error: *"); + f[2].setValue("valid 12"); + + f[3] + .setDescription("Field is non-empty, requiredError(null), validators " + + "give validation error: * ! (popup shows the validation error)"); + f[3].setValue("invalid"); + + f[4] + .setDescription("Field is non-empty, requiredError(\"foo\"), validators " + + "give validation error: * ! (popup shows the validation error)"); + f[4].setValue("invalid"); + f[4].setRequiredError("The field must not be empty"); + + } + + class ContainsValidator implements Validator { + private final String c; + + public ContainsValidator(String c) { + this.c = c; + } + + public boolean isValid(Object value) { + return value != null && value.toString().contains(c); + } + + public void validate(Object value) throws InvalidValueException { + if (!isValid(value)) { + throw new InvalidValueException("Value does not contain " + c); + } + + } + + } + +} -- 2.39.5