From: Artur Signell Date: Mon, 27 Oct 2008 13:41:31 +0000 (+0000) Subject: More comprehensive test case for #2181 X-Git-Tag: 6.7.0.beta1~3915 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a646b5b4d87506c963a9ba9131b0786a577e0707;p=vaadin-framework.git More comprehensive test case for #2181 svn changeset:5742/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket2181.java b/src/com/itmill/toolkit/tests/tickets/Ticket2181.java index 7d4074c62b..cef4aa2f8d 100644 --- a/src/com/itmill/toolkit/tests/tickets/Ticket2181.java +++ b/src/com/itmill/toolkit/tests/tickets/Ticket2181.java @@ -1,25 +1,103 @@ package com.itmill.toolkit.tests.tickets; +import java.util.ArrayList; +import java.util.Date; +import java.util.Random; +import java.util.Set; + import com.itmill.toolkit.Application; +import com.itmill.toolkit.terminal.ThemeResource; import com.itmill.toolkit.terminal.UserError; import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.Component; +import com.itmill.toolkit.ui.OptionGroup; +import com.itmill.toolkit.ui.OrderedLayout; import com.itmill.toolkit.ui.TextField; import com.itmill.toolkit.ui.Window; import com.itmill.toolkit.ui.Button.ClickEvent; public class Ticket2181 extends Application implements Button.ClickListener { + // private static final Object PROPERTY_VALUE = new Object(); + // private static final Object PROPERTY_CAPTION = new Object(); + + private static final String caption = "This is a caption which is very long and nice and perhaps sometimes should be clipped"; Window main = new Window("#2181 test"); - TextField tf = new TextField("Test field"); - Button b = new Button("Press to break down", this); + TextField tf1 = new TextField(caption, "Test field - undefined width"); + TextField tf2 = new TextField(caption, "Test field - 150px wide"); + Button setButton = new Button("Set", this); + private Random random = new Random(123); + private OptionGroup options; + + private static ArrayList icons = new ArrayList(); + static { + icons.add("icons/64/ok.png"); + icons.add("icons/64/arrow-down.png"); + icons.add("icons/64/arrow-left.png"); + icons.add("icons/64/arrow-right.png"); + icons.add("icons/64/arrow-up.png"); + } public void init() { setMainWindow(main); - main.addComponent(tf); - main.addComponent(b); + OrderedLayout ol; + ol = new OrderedLayout(); + ol.addComponent(tf1); + main.addComponent(ol); + + ol = new OrderedLayout(); + ol.setWidth("150px"); + tf2.setWidth("150px"); + ol.addComponent(tf2); + main.addComponent(ol); + + main.addComponent(createSelection()); + main.addComponent(setButton); + } + + private Component createSelection() { + options = new OptionGroup(); + options.addItem("Icon"); + options.addItem("Caption"); + options.addItem("Required"); + options.addItem("Error"); + options.setMultiSelect(true); + options.select("Caption"); + + // ol.addComponent(og); + return options; } public void buttonClick(ClickEvent event) { - tf.setComponentError(new UserError("Noooo... ")); + if (event.getButton() == setButton) { + set(); + } + } + + private void set() { + Set values = (Set) options.getValue(); + TextField[] tfs = new TextField[] { tf1, tf2 }; + for (TextField tf : tfs) { + // Clear all + tf.setCaption(null); + tf.setComponentError(null); + tf.setRequired(false); + tf.setIcon(null); + + for (String value : values) { + if (value.equals("Caption")) { + tf.setCaption(caption); + } else if (value.equals("Icon")) { + String timestamp = String.valueOf(new Date().getTime()); + tf.setIcon(new ThemeResource(icons.get(random.nextInt(icons + .size())) + + "?" + timestamp)); + } else if (value.equals("Required")) { + tf.setRequired(true); + } else if (value.equals("Error")) { + tf.setComponentError(new UserError("Nooooo...")); + } + } + } } }