]> source.dussan.org Git - vaadin-framework.git/commitdiff
enhanced test case
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Tue, 7 Oct 2008 11:14:28 +0000 (11:14 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Tue, 7 Oct 2008 11:14:28 +0000 (11:14 +0000)
svn changeset:5601/svn branch:trunk

src/com/itmill/toolkit/tests/ScrollbarStressTest.java

index fd2a8ffb4944921918b7d29232413d6b8d4f8bfe..29f02f0111ef84c34e7286b99d8a0ced495b18ff 100644 (file)
@@ -1,11 +1,17 @@
 package com.itmill.toolkit.tests;
 
 import com.itmill.toolkit.Application;
+import com.itmill.toolkit.ui.Accordion;
 import com.itmill.toolkit.ui.Button;
+import com.itmill.toolkit.ui.Component;
+import com.itmill.toolkit.ui.ExpandLayout;
 import com.itmill.toolkit.ui.Label;
 import com.itmill.toolkit.ui.OptionGroup;
 import com.itmill.toolkit.ui.OrderedLayout;
 import com.itmill.toolkit.ui.Panel;
+import com.itmill.toolkit.ui.SplitPanel;
+import com.itmill.toolkit.ui.TabSheet;
+import com.itmill.toolkit.ui.Table;
 import com.itmill.toolkit.ui.Window;
 import com.itmill.toolkit.ui.Button.ClickEvent;
 import com.itmill.toolkit.ui.Button.ClickListener;
@@ -15,10 +21,15 @@ public class ScrollbarStressTest extends Application {
     final Window main = new Window("Scrollbar Stress Test");
 
     final Panel panel = new Panel("Panel");
+    final SplitPanel splitPanel = new SplitPanel();
+    final Accordion accordion = new Accordion();
+    final TabSheet tabsheet = new TabSheet();
     final Window subwindow = new Window("Subwindow");
 
-    final OptionGroup width = new OptionGroup("Width");
-    final OptionGroup height = new OptionGroup("Height");
+    final OptionGroup width = new OptionGroup("LO Width");
+    final OptionGroup height = new OptionGroup("LO Height");
+
+    private boolean getTable;
 
     @Override
     public void init() {
@@ -32,10 +43,20 @@ public class ScrollbarStressTest extends Application {
     private void createControlWindow() {
         final OptionGroup context = new OptionGroup("Context");
         context.addItem("Main window");
+        context.addItem("ExpandLayout");
         context.addItem("Subwindow");
         context.addItem("Panel");
+        context.addItem("Split Panel");
+        context.addItem("TabSheet");
+        context.addItem("Accordion");
         context.setValue("Main window");
 
+        final OptionGroup testComponent = new OptionGroup(
+                "TestComponent 100%x100%");
+        testComponent.addItem("Label");
+        testComponent.addItem("Table");
+        testComponent.setValue("Label");
+
         width.addItem("100%");
         width.addItem("50%");
         width.addItem("150%");
@@ -52,12 +73,22 @@ public class ScrollbarStressTest extends Application {
 
         final Button set = new Button("Set", new ClickListener() {
             public void buttonClick(ClickEvent event) {
+                getTable = testComponent.getValue().equals("Table");
+
                 if (context.getValue() == "Main window") {
                     drawInMainWindow();
                 } else if (context.getValue() == "Subwindow") {
                     drawInSubwindow();
                 } else if (context.getValue() == "Panel") {
                     drawInPanel();
+                } else if (context.getValue() == "Split Panel") {
+                    drawInSplitPanel();
+                } else if (context.getValue() == "TabSheet") {
+                    drawInTabSheet(false);
+                } else if (context.getValue() == "Accordion") {
+                    drawInTabSheet(true);
+                } else if (context.getValue() == "ExpandLayout") {
+                    drawInExpandLayout();
                 }
             }
         });
@@ -65,6 +96,7 @@ public class ScrollbarStressTest extends Application {
         OrderedLayout ol = new OrderedLayout(
                 OrderedLayout.ORIENTATION_HORIZONTAL);
         ol.addComponent(context);
+        ol.addComponent(testComponent);
         ol.addComponent(width);
         ol.addComponent(height);
         ol.addComponent(set);
@@ -76,39 +108,105 @@ public class ScrollbarStressTest extends Application {
         main.addWindow(controller);
     }
 
-    private void drawInPanel() {
+    protected void drawInExpandLayout() {
         main.removeAllComponents();
+        main.getLayout().setSizeFull();
+
         OrderedLayout ol = new OrderedLayout();
-        panel.setLayout(ol);
 
-        ol = new OrderedLayout();
+        ExpandLayout el = new ExpandLayout();
+
+        el.removeAllComponents();
+
+        ol.setWidth((String) width.getValue());
+        ol.setHeight((String) height.getValue());
+
+        ol.addComponent(getTestComponent());
+
+        el.addComponent(ol);
+
+        main.getLayout().addComponent(el);
+        main.removeWindow(subwindow);
+
+    }
+
+    protected void drawInTabSheet(boolean verticalAkaAccordion) {
+        main.removeAllComponents();
+        main.getLayout().setSizeFull();
+
+        OrderedLayout ol = new OrderedLayout();
+        ol.setCaption("Tab 1");
+        OrderedLayout ol2 = new OrderedLayout();
+        ol2.setCaption("Tab 2");
+
+        TabSheet ts = (verticalAkaAccordion ? accordion : tabsheet);
+        ts.setSizeFull();
+
+        ts.removeAllComponents();
+
+        ts.addComponent(ol);
+        ts.addComponent(ol2);
+
+        ol.setWidth((String) width.getValue());
+        ol.setHeight((String) height.getValue());
+        ol2.setWidth((String) width.getValue());
+        ol2.setHeight((String) height.getValue());
+
+        ol.addComponent(getTestComponent());
+
+        ol2.addComponent(getTestComponent());
+
+        main.addComponent(ts);
+        main.removeWindow(subwindow);
+    }
+
+    private void drawInSplitPanel() {
+        main.removeAllComponents();
+        main.getLayout().setSizeFull();
+
+        OrderedLayout ol = new OrderedLayout();
+        OrderedLayout ol2 = new OrderedLayout();
+
+        splitPanel.setFirstComponent(ol);
+        splitPanel.setSecondComponent(ol2);
+
+        ol.setWidth((String) width.getValue());
+        ol.setHeight((String) height.getValue());
+        ol2.setWidth((String) width.getValue());
+        ol2.setHeight((String) height.getValue());
+
+        ol.addComponent(getTestComponent());
+
+        ol2.addComponent(getTestComponent());
+
+        main.addComponent(splitPanel);
+        main.removeWindow(subwindow);
+    }
+
+    private void drawInPanel() {
+        main.removeAllComponents();
+        main.getLayout().setSizeFull();
+
+        OrderedLayout ol = new OrderedLayout();
         panel.setSizeFull();
         panel.setLayout(ol);
 
-        ol.setSizeFull();
         ol.setWidth((String) width.getValue());
         ol.setHeight((String) height.getValue());
 
-        Label l = new Label("Label");
-        l.setStyleName("no-padding");
-        l.setSizeFull();
-
-        ol.addComponent(l);
+        ol.addComponent(getTestComponent());
         main.addComponent(panel);
         main.removeWindow(subwindow);
     }
 
     private void drawInSubwindow() {
         main.removeAllComponents();
+        main.getLayout().setSizeFull();
         OrderedLayout ol = new OrderedLayout();
         ol.setWidth((String) width.getValue());
         ol.setHeight((String) height.getValue());
 
-        Label l = new Label("Label");
-        l.setStyleName("no-padding");
-        l.setSizeFull();
-
-        ol.addComponent(l);
+        ol.addComponent(getTestComponent());
         subwindow.setLayout(ol);
         main.addWindow(subwindow);
     }
@@ -120,11 +218,21 @@ public class ScrollbarStressTest extends Application {
         ol.setWidth((String) width.getValue());
         ol.setHeight((String) height.getValue());
 
-        Label l = new Label("Label");
-        l.setStyleName("no-padding");
-        l.setSizeFull();
-
-        ol.addComponent(l);
+        ol.addComponent(getTestComponent());
         main.removeWindow(subwindow);
     }
+
+    private Component getTestComponent() {
+        if (getTable) {
+            Table testTable = TestForTablesInitialColumnWidthLogicRendering
+                    .getTestTable(4, 50);
+            testTable.setSizeFull();
+            return testTable;
+        } else {
+            Label l = new Label("Label");
+            l.setStyleName("no-padding");
+            l.setSizeFull();
+            return l;
+        }
+    }
 }