From db17cf9fc16151e1bf5679af7f3493a2e8b84d7b Mon Sep 17 00:00:00 2001 From: Joonas Lehtinen Date: Sat, 14 Jun 2008 13:41:59 +0000 Subject: [PATCH] Test case for #1811: Validation logic is not logical: isRequired == false should not imply (null/"" -> valid) svn changeset:4872/svn branch:trunk --- .../toolkit/tests/tickets/Ticket1811.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/com/itmill/toolkit/tests/tickets/Ticket1811.java diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket1811.java b/src/com/itmill/toolkit/tests/tickets/Ticket1811.java new file mode 100644 index 0000000000..96dc32b639 --- /dev/null +++ b/src/com/itmill/toolkit/tests/tickets/Ticket1811.java @@ -0,0 +1,73 @@ +package com.itmill.toolkit.tests.tickets; + +import java.util.LinkedList; + +import com.itmill.toolkit.data.validator.StringLengthValidator; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.Label; +import com.itmill.toolkit.ui.TextField; +import com.itmill.toolkit.ui.Window; +import com.itmill.toolkit.ui.Button.ClickEvent; + +public class Ticket1811 extends com.itmill.toolkit.Application { + + LinkedList listOfAllFields = new LinkedList(); + + public void init() { + + final Window main = new Window("#1811"); + setMainWindow(main); + + TextField tf1 = new TextField( + "Text field with default settings (required=false)"); + main.addComponent(tf1); + listOfAllFields.add(tf1); + + TextField tf2 = new TextField("Text field with required=true"); + tf2.setRequired(true); + main.addComponent(tf2); + listOfAllFields.add(tf2); + + TextField tf3 = new TextField( + "Text field with required=true and strlen >= 3"); + tf3.setRequired(true); + tf3.addValidator(new StringLengthValidator( + "String must be at least 3 chars long and non-null", 3, 1, + false)); + main.addComponent(tf3); + listOfAllFields.add(tf3); + + TextField tf4 = new TextField( + "Text field with required=false (default) and strlen >= 3"); + tf4.addValidator(new StringLengthValidator( + "String must be at least 3 chars long and non-null", 3, 1, + false)); + main.addComponent(tf4); + listOfAllFields.add(tf4); + + Button checkValidity = new Button("Check validity of the fields"); + main.addComponent(checkValidity); + checkValidity.addListener(new Button.ClickListener() { + + public void buttonClick(ClickEvent event) { + StringBuffer msg = new StringBuffer(); + for (java.util.Iterator i = listOfAllFields.iterator(); i + .hasNext();) { + TextField tf = (TextField) i.next(); + msg.append("

" + tf.getCaption() + "

\n"); + if (tf.isValid()) { + msg.append("VALID\n
"); + } else { + msg.append("INVALID
" + tf.getErrorMessage() + + "
"); + } + } + Window w = new Window("Status of the fields"); + w.setModal(true); + w.addComponent(new Label(msg.toString(), Label.CONTENT_XHTML)); + main.addWindow(w); + } + }); + } + +} -- 2.39.5