]> source.dussan.org Git - vaadin-framework.git/commitdiff
More comprehensive test case for #2181
authorArtur Signell <artur.signell@itmill.com>
Mon, 27 Oct 2008 13:41:31 +0000 (13:41 +0000)
committerArtur Signell <artur.signell@itmill.com>
Mon, 27 Oct 2008 13:41:31 +0000 (13:41 +0000)
svn changeset:5742/svn branch:trunk

src/com/itmill/toolkit/tests/tickets/Ticket2181.java

index 7d4074c62bc6be17ae12a6fdcd51c483f1aac6ce..cef4aa2f8d267f35e958d276b5e96b3e6704218d 100644 (file)
 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<String> icons = new ArrayList<String>();
+    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<String> values = (Set<String>) 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..."));
+                }
+            }
+        }
     }
 }