]> source.dussan.org Git - vaadin-framework.git/commitdiff
#5334 vaadin formatted code, LayoutTesterApplication extends now AbstractTestCase
authorJohannes Tuikkala <johannes.tuikkala@itmill.com>
Mon, 26 Jul 2010 13:43:32 +0000 (13:43 +0000)
committerJohannes Tuikkala <johannes.tuikkala@itmill.com>
Mon, 26 Jul 2010 13:43:32 +0000 (13:43 +0000)
svn changeset:14326/svn branch:6.4

tests/src/com/vaadin/tests/layouts/layouttester/AbstractLayoutTests.java
tests/src/com/vaadin/tests/layouts/layouttester/GridLayoutTests.java
tests/src/com/vaadin/tests/layouts/layouttester/HorizontalLayoutTests.java
tests/src/com/vaadin/tests/layouts/layouttester/LayoutTesterApplication.java
tests/src/com/vaadin/tests/layouts/layouttester/VerticalLayoutTests.java

index 22882b5158a95de4a8871b22da0dbda47b4b4ed5..765a2ac0bde392519713bbf41e7f18150d38722c 100644 (file)
@@ -3,15 +3,23 @@ package com.vaadin.tests.layouts.layouttester;
 import com.vaadin.ui.Layout;\r
 \r
 public abstract class AbstractLayoutTests {\r
-       \r
-       abstract protected Layout getCaptionsTests();\r
-       abstract protected Layout getIconsTests();\r
-       abstract protected Layout getRequiredErrorIndicatorsTests();\r
-       abstract protected Layout getAlignmentTests();\r
-       abstract protected Layout getExpandRatiosTests();\r
-       abstract protected Layout getMarginSpacingTests();\r
-       abstract protected Layout getComponentAddReplaceMoveTests();\r
-       abstract protected Layout getComponentSizingTests();\r
-       abstract protected Layout getLayoutSizingTests();\r
+\r
+    abstract protected Layout getCaptionsTests();\r
+\r
+    abstract protected Layout getIconsTests();\r
+\r
+    abstract protected Layout getRequiredErrorIndicatorsTests();\r
+\r
+    abstract protected Layout getAlignmentTests();\r
+\r
+    abstract protected Layout getExpandRatiosTests();\r
+\r
+    abstract protected Layout getMarginSpacingTests();\r
+\r
+    abstract protected Layout getComponentAddReplaceMoveTests();\r
+\r
+    abstract protected Layout getComponentSizingTests();\r
+\r
+    abstract protected Layout getLayoutSizingTests();\r
 \r
 }\r
index b328914c75eb84d36f54442a4c9f38ee5c2604af..19bdb0b3079cde7de17e8b3844d11eca79e78636 100644 (file)
@@ -28,588 +28,591 @@ import com.vaadin.ui.themes.Reindeer;
 \r
 public class GridLayoutTests extends AbstractLayoutTests {\r
 \r
-       private Application application;\r
-       private AbstractComponent rc1, col1, col2, col3, row1, row2, row3, x3, x22;\r
-\r
-       public GridLayoutTests(Application application) {\r
-               super();\r
-               this.application = application;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getAlignmentTests() {\r
-               HorizontalLayout hlo = new HorizontalLayout();\r
-               hlo.setSpacing(true);\r
-               GridLayout glo = getTestGrid();\r
-               glo.addStyleName(Reindeer.LAYOUT_WHITE);\r
-               Alignment[] alignments = new Alignment[] { Alignment.BOTTOM_LEFT,\r
-                               Alignment.BOTTOM_CENTER, Alignment.BOTTOM_RIGHT,\r
-                               Alignment.MIDDLE_LEFT, Alignment.MIDDLE_CENTER,\r
-                               Alignment.MIDDLE_RIGHT, Alignment.TOP_LEFT,\r
-                               Alignment.TOP_CENTER, Alignment.TOP_RIGHT };\r
-\r
-               glo.replaceComponent(col1, col1 = new TextField());\r
-               glo.replaceComponent(col2, col2 = new TextField());\r
-               glo.replaceComponent(col3, col3 = new TextField());\r
-               ((TextField) col1).setValue("BOTTOM_RIGHT");\r
-               ((TextField) col2).setValue("BOTTOM_LEFT");\r
-               ((TextField) col3).setValue("BOTTOM_CENTER");\r
-               glo.setComponentAlignment(col2, alignments[0]);\r
-               glo.setComponentAlignment(col3, alignments[1]);\r
-               glo.setComponentAlignment(col1, alignments[2]);\r
-\r
-               glo.setComponentAlignment(row1, alignments[3]);\r
-               glo.setComponentAlignment(row2, alignments[4]);\r
-               glo.setComponentAlignment(row3, alignments[5]);\r
-               hlo.addComponent(glo);\r
-               glo = getTestGrid();\r
-               glo.replaceComponent(row1, row1 = new DateField());\r
-               glo.replaceComponent(row2, row2 = new DateField());\r
-               glo.replaceComponent(row3, row3 = new DateField());\r
-               glo.setComponentAlignment(col2, alignments[6]);\r
-               glo.setComponentAlignment(col3, alignments[7]);\r
-               glo.setComponentAlignment(col1, alignments[8]);\r
-               hlo.addComponent(glo);\r
-               return hlo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getCaptionsTests() {\r
-               GridLayout glo = getTestGrid();\r
-               glo.setWidth("600px");\r
-               String[] captions = new String[] {\r
-                               "",\r
-                               "abcdefghijklmnopq",\r
-                               "abc def hij klm nop qrs tuv xyz qaz wsx edc rfv tgb yhn ujm mko nji bhu vgy cft cde" };\r
-               glo.replaceComponent(col1, col1 = new TextField());\r
-               glo.replaceComponent(col2, col2 = new TextField());\r
-               glo.replaceComponent(col3, col3 = new TextField());\r
-               \r
-               col1.setCaption(captions[0]);\r
-               col2.setCaption(captions[1]);\r
-               col3.setCaption(captions[2]);\r
-               col3.setIcon(new ClassResource("help.png", application));\r
-               \r
-               glo.replaceComponent(row1, row1 = new Label());\r
-               glo.replaceComponent(row2, row2 = new Label());\r
-               glo.replaceComponent(row3, row3 = new Label());\r
-               \r
-               row1.setCaption(captions[0]);\r
-               row2.setCaption(captions[1]);\r
-               row3.setCaption(captions[2]);\r
-\r
-               glo.replaceComponent(x3, x3 = getTestTabsheet());\r
-               glo.replaceComponent(x22, x22 = getTestTable());\r
-               x22.setComponentError(new UserError("component error, user error"));\r
-               \r
-               x3.setCaption(captions[1]);\r
-               x22.setCaption(captions[2]);\r
-               \r
-               return glo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getComponentAddReplaceMoveTests() {\r
-               final GridLayout glo = getTestGrid();\r
-               Layout baseLayout = getBaseLayout();\r
-               final Button button1 = new Button("Test add");\r
-               final Button button2 = new Button("Test replace");\r
-               final Button button3 = new Button("Test move");\r
-               final Button button4 = new Button("Test remove comp 1,1");\r
-               final Button button5 = new Button("Test remove row 0");\r
-               final Button button6 = new Button("Test remove comp row3");\r
-               \r
-               baseLayout.addComponent(button1);\r
-               baseLayout.addComponent(button2);\r
-               baseLayout.addComponent(button3);\r
-               baseLayout.addComponent(button4);\r
-               baseLayout.addComponent(button5);\r
-               baseLayout.addComponent(button6);\r
-               baseLayout.addComponent(glo);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-               button4.setEnabled(false);\r
-               button5.setEnabled(false);\r
-               button6.setEnabled(false);\r
-               \r
-               final HorizontalLayout source = new HorizontalLayout();\r
-               source.addComponent(new Label("MOVE LABEL 1"));\r
-               source.addComponent(new Label("MOVE LABEL 2"));\r
-               \r
-               final AbstractComponent cc1 = getTestTabsheet();\r
-               cc1.setCaption("ADDED COMPONENT");\r
-               \r
-               final AbstractComponent cc2 = getTestTabsheet();\r
-               cc2.setCaption("REPLACEMENT COMPONENT");\r
-               \r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.addComponent(cc1);\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.replaceComponent(x22, cc2);\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.moveComponentsFrom(source);\r
-                               button3.setEnabled(false);\r
-                               button4.setEnabled(true);\r
-                       }\r
-               });\r
-               button4.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.removeComponent(1,1);\r
-                               button4.setEnabled(false);\r
-                               button5.setEnabled(true);\r
-                       }\r
-               });\r
-               \r
-               button5.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.removeRow(0);\r
-                               button5.setEnabled(false);\r
-                               button6.setEnabled(true);\r
-                       }\r
-               });\r
-               button6.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.removeComponent(row3);\r
-                               button6.setEnabled(false);\r
-                       }\r
-               });\r
-               \r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getComponentSizingTests() {\r
-               final GridLayout glo = getTestGrid();\r
-               Layout baseLayout = getBaseLayout();\r
-               final Button button1 = new Button("full size, 3x1");\r
-               final Button button2 = new Button("200 px width, 3x1");\r
-               final Button button3 = new Button("200 px width, table");\r
-               final Button button4 = new Button("undefined size+add, table");\r
-               \r
-               glo.replaceComponent(x22, x22=getTestTable());\r
-               \r
-               baseLayout.addComponent(button1);\r
-               baseLayout.addComponent(button2);\r
-               baseLayout.addComponent(button3);\r
-               baseLayout.addComponent(button4);\r
-               baseLayout.addComponent(glo);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-               button4.setEnabled(false);\r
-               \r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               x3.setSizeFull();\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               x3.setWidth("200px");\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               x22.setWidth("200px");\r
-                               button3.setEnabled(false);\r
-                               button4.setEnabled(true);\r
-                       }\r
-               });\r
-               button4.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               x22.setSizeUndefined();\r
-                               ((Table)x22).addItem(new Object[] { "NEW ROW1" }, 3);\r
-                               ((Table)x22).addItem(new Object[] { "NEW ROW2" }, 4);\r
-                               button4.setEnabled(false);\r
-                       }\r
-               });\r
-       \r
-               \r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getExpandRatiosTests() {\r
-               final GridLayout glo = getTestGrid();\r
-               Layout baseLayout = getBaseLayout();\r
-               final Button button1 = new Button("set col 3 expand 1");\r
-               final Button button2 = new Button("set all cols expand 0.25");\r
-               final Button button3 = new Button("set row 0 expand 0.5");\r
-               final Button button4 = new Button("set row 3 expand 0.2");\r
-               \r
-               glo.replaceComponent(x22, x22=getTestTable());\r
-               \r
-               baseLayout.addComponent(button1);\r
-               baseLayout.addComponent(button2);\r
-               baseLayout.addComponent(button3);\r
-               baseLayout.addComponent(button4);\r
-               baseLayout.addComponent(glo);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-               button4.setEnabled(false);\r
-               \r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setColumnExpandRatio(3, 1);\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setColumnExpandRatio(0, 0.25f);\r
-                               glo.setColumnExpandRatio(1, 0.25f);\r
-                               glo.setColumnExpandRatio(2, 0.25f);\r
-                               glo.setColumnExpandRatio(3, 0.25f);\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setRowExpandRatio(0, 0.5f);\r
-                               button3.setEnabled(false);\r
-                               button4.setEnabled(true);\r
-                       }\r
-               });\r
-               button4.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setRowExpandRatio(3, 0.3f);\r
-                               button4.setEnabled(false);\r
-                       }\r
-               });\r
-               \r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getIconsTests() {\r
-               GridLayout glo = getTestGrid();\r
-               glo.setWidth("600px");\r
-               Resource[] icons = new Resource[] {\r
-                               new ClassResource("alert.png", application),\r
-                               new ClassResource("help.png", application) };\r
-               \r
-               glo.replaceComponent(col1, col1 = new TextField("TEXTFIELD"));\r
-               glo.replaceComponent(col2, col2 = new Label("LABEL"));\r
-               glo.replaceComponent(col3, col3 = new Link("LINK",null));\r
-               \r
-               col1.setIcon(icons[0]);\r
-               col2.setIcon(icons[1]);\r
-               col3.setIcon(icons[0]);\r
-               rc1.setIcon(icons[1]);\r
-               col3.setCaption("long test caption bewucbwuebco or bmort b cbwecubw wbeucwe asdasd asdasda asdasd");\r
-               col3.setComponentError(new UserError("component error, user error"));\r
-               \r
-               glo.replaceComponent(row1, row1 = new DateField());\r
-               glo.replaceComponent(row2, row2 = new NativeSelect());\r
-               glo.replaceComponent(row3, row3 = getTestTabsheet());\r
-               \r
-               row1.setIcon(icons[1]);\r
-               row2.setIcon(icons[0]);\r
-               row3.setIcon(icons[1]);\r
-\r
-               glo.replaceComponent(x3, x3 = new CheckBox("CHECKBOX"));\r
-               glo.replaceComponent(x22, x22 = new Panel("PANEL"));\r
-               x22.setIcon(new ClassResource("alert.png", application));\r
-               \r
-               x3.setIcon(icons[0]);\r
-               x22.setIcon(icons[1]);\r
-               \r
-               return glo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getLayoutSizingTests() {\r
-               final GridLayout glo = getTestGrid();\r
-               Layout baseLayout = getBaseLayout();\r
-               baseLayout.setWidth("500px");\r
-               baseLayout.setHeight("500px");\r
-               final Button button1 = new Button("Set fixed height 350px");\r
-               final Button button2 = new Button("Set undefined size and add component");\r
-               final Button button3 = new Button("Set fixed width and height 75%");\r
-               final Button button4 = new Button("Set size full");\r
-               \r
-               glo.replaceComponent(x22, x22=getTestTable());\r
-               \r
-               baseLayout.addComponent(button1);\r
-               baseLayout.addComponent(button2);\r
-               baseLayout.addComponent(button3);\r
-               baseLayout.addComponent(button4);\r
-               baseLayout.addComponent(glo);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-               button4.setEnabled(false);\r
-               \r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setHeight("350px");\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setSizeUndefined();\r
-                               glo.addComponent(new Label("--- NEW LABEL ---"));\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setWidth("75%");\r
-                               glo.setHeight("75%");\r
-                               button3.setEnabled(false);\r
-                               button4.setEnabled(true);\r
-                       }\r
-               });\r
-               button4.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setSizeFull();\r
-                               button4.setEnabled(false);\r
-                       }\r
-               });\r
-       \r
-               \r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getMarginSpacingTests() {\r
-               final GridLayout glo = getTestGrid();\r
-               Layout baseLayout = getBaseLayout();\r
-               baseLayout.setWidth("500px");\r
-               baseLayout.setHeight("500px");\r
-               final Button button1 = new Button("Set margin on");\r
-               final Button button2 = new Button("Set spacing on");\r
-               final Button button3 = new Button("Set margin off");\r
-               final Button button4 = new Button("Set spacing off");\r
-\r
-               baseLayout.addComponent(button1);\r
-               baseLayout.addComponent(button2);\r
-               baseLayout.addComponent(button3);\r
-               baseLayout.addComponent(button4);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-               button4.setEnabled(false);\r
-\r
-               baseLayout.addComponent(glo);\r
-               \r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setMargin(true);\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setSpacing(true);\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setMargin(false);\r
-                               button3.setEnabled(false);\r
-                               button4.setEnabled(true);\r
-                       }\r
-               });\r
-               button4.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               glo.setSpacing(false);\r
-                               button4.setEnabled(false);\r
-                       }\r
-               });\r
-\r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getRequiredErrorIndicatorsTests() {\r
-               GridLayout glo = getTestGrid();\r
-               glo.setWidth("600px");\r
-               Resource[] icons = new Resource[] {\r
-                               new ClassResource("alert.png", application),\r
-                               new ClassResource("help.png", application) };\r
-               \r
-               glo.replaceComponent(col1, col1 = new TextField("TEXTFIELD"));\r
-               glo.replaceComponent(col2, col2 = new Label("LABEL"));\r
-               glo.replaceComponent(col3, col3 = new Link("LINK",null));\r
-               \r
-               col1.setIcon(icons[0]);\r
-               col1.setComponentError(new UserError("component error, user error"));\r
-               col2.setComponentError(new SystemError("component error, system error"));\r
-               col3.setComponentError(new UserError("component error, user error"));\r
-               \r
-               glo.replaceComponent(row1, row1 = new DateField());\r
-               glo.replaceComponent(row2, row2 = new NativeSelect());\r
-               glo.replaceComponent(row3, row3 = getTestTabsheet());\r
-               \r
-               ((AbstractField)col1).setRequired(true);\r
-               ((AbstractField)col1).setValidationVisible(true);\r
-               ((AbstractField)col1).setRequiredError("required error");\r
-               \r
-               ((AbstractField)row1).setRequired(true);\r
-               ((AbstractField)row1).setValidationVisible(true);\r
-               ((AbstractField)row1).setRequiredError("required error");\r
-               \r
-               ((AbstractField)row2).setRequired(true);\r
-               ((AbstractField)row2).setValidationVisible(true);\r
-               ((AbstractField)row2).setRequiredError("required error");\r
-               row2.setComponentError(new UserError("component error, user error"));\r
-               \r
-               row3.setComponentError(new UserError("component error, user error"));\r
-               row3.setIcon(icons[1]);\r
-               row3.setCaption("long test caption bewucbwuebco or bmort b cbwecubw wbeucwe asdasd asdasda asdasd");\r
-\r
-               glo.replaceComponent(x3, x3 = new CheckBox("CHECKBOX"));\r
-               glo.replaceComponent(x22, x22 = new Panel("PANEL"));\r
-               \r
-               x3.setComponentError(new UserError("component error, user error"));\r
-               x22.setComponentError(new UserError("component error, user error"));\r
-               x22.setIcon(icons[0]);\r
-               \r
-               return glo;\r
-       }\r
-\r
-       private GridLayout getTestGrid() {\r
-               // Create a 4 by 4 grid layout.\r
-               GridLayout grid = new GridLayout(4, 4);\r
-               // Fill out the first row using the cursor.\r
-               grid.addComponent(rc1 = new Button("R/C 1"));\r
-\r
-               grid.addComponent(col1 = new Button("Col " + (grid.getCursorX() + 1)));\r
-               grid.addComponent(col2 = new Button("Col " + (grid.getCursorX() + 1)));\r
-               grid.addComponent(col3 = new Button("Col " + (grid.getCursorX() + 1)));\r
-\r
-               // Fill out the first column using coordinates.\r
-\r
-               grid.addComponent(row1 = new Button("Row " + 1), 0, 1);\r
-               grid.addComponent(row2 = new Button("Row " + 2), 0, 2);\r
-               grid.addComponent(row3 = new Button("Row " + 3), 0, 3);\r
-\r
-               // Add some components of various shapes.\r
-               grid.addComponent(x3 = new Button("3x1 button"), 1, 1, 3, 1);\r
-               grid.addComponent(new Label("1x2 cell"), 1, 2, 1, 3);\r
-               x22 = new InlineDateField("A 2x2 date field");\r
-               ((InlineDateField) x22).setResolution(DateField.RESOLUTION_DAY);\r
-               grid.addComponent(x22, 2, 2, 3, 3);\r
-               grid.setWidth("450px");\r
-               grid.setHeight("450px");\r
-               return grid;\r
-       }\r
-       \r
-       private VerticalLayout getBaseLayout() {\r
-               VerticalLayout vlo = new VerticalLayout();\r
-               vlo.setSizeUndefined();\r
-               return vlo;\r
-       }\r
-       \r
-       private AbstractComponent getTestTabsheet() {\r
-               TabSheet tabsheet = new TabSheet();\r
-               tabsheet.setSizeUndefined();\r
-               tabsheet.addTab(new Label("TAB1"), "TAB1", new ClassResource(\r
-                               "alert.png", application));\r
-               tabsheet.addTab(new Label("TAB2"), "TAB2", null);\r
-               return tabsheet;\r
-       }\r
-\r
-       private Table getTestTable() {\r
-               Table t = new Table();\r
-               t.setSizeUndefined();\r
-               t.setPageLength(5);\r
-               t.addContainerProperty("test", String.class, null);\r
-               t.addItem(new Object[] { "qwertyuiop asdfghjklöä zxccvbnm,m,." }, 1);\r
-               t.addItem(new Object[] { "YGVYTCTCTRXRXRXRX" }, 2);\r
-               return t;\r
-       }\r
+    private Application application;\r
+    private AbstractComponent rc1, col1, col2, col3, row1, row2, row3, x3, x22;\r
+\r
+    public GridLayoutTests(Application application) {\r
+        super();\r
+        this.application = application;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getAlignmentTests() {\r
+        HorizontalLayout hlo = new HorizontalLayout();\r
+        hlo.setSpacing(true);\r
+        GridLayout glo = getTestGrid();\r
+        glo.addStyleName(Reindeer.LAYOUT_WHITE);\r
+        Alignment[] alignments = new Alignment[] { Alignment.BOTTOM_LEFT,\r
+                Alignment.BOTTOM_CENTER, Alignment.BOTTOM_RIGHT,\r
+                Alignment.MIDDLE_LEFT, Alignment.MIDDLE_CENTER,\r
+                Alignment.MIDDLE_RIGHT, Alignment.TOP_LEFT,\r
+                Alignment.TOP_CENTER, Alignment.TOP_RIGHT };\r
+\r
+        glo.replaceComponent(col1, col1 = new TextField());\r
+        glo.replaceComponent(col2, col2 = new TextField());\r
+        glo.replaceComponent(col3, col3 = new TextField());\r
+        ((TextField) col1).setValue("BOTTOM_RIGHT");\r
+        ((TextField) col2).setValue("BOTTOM_LEFT");\r
+        ((TextField) col3).setValue("BOTTOM_CENTER");\r
+        glo.setComponentAlignment(col2, alignments[0]);\r
+        glo.setComponentAlignment(col3, alignments[1]);\r
+        glo.setComponentAlignment(col1, alignments[2]);\r
+\r
+        glo.setComponentAlignment(row1, alignments[3]);\r
+        glo.setComponentAlignment(row2, alignments[4]);\r
+        glo.setComponentAlignment(row3, alignments[5]);\r
+        hlo.addComponent(glo);\r
+        glo = getTestGrid();\r
+        glo.replaceComponent(row1, row1 = new DateField());\r
+        glo.replaceComponent(row2, row2 = new DateField());\r
+        glo.replaceComponent(row3, row3 = new DateField());\r
+        glo.setComponentAlignment(col2, alignments[6]);\r
+        glo.setComponentAlignment(col3, alignments[7]);\r
+        glo.setComponentAlignment(col1, alignments[8]);\r
+        hlo.addComponent(glo);\r
+        return hlo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getCaptionsTests() {\r
+        GridLayout glo = getTestGrid();\r
+        glo.setWidth("600px");\r
+        String[] captions = new String[] {\r
+                "",\r
+                "abcdefghijklmnopq",\r
+                "abc def hij klm nop qrs tuv xyz qaz wsx edc rfv tgb yhn ujm mko nji bhu vgy cft cde" };\r
+        glo.replaceComponent(col1, col1 = new TextField());\r
+        glo.replaceComponent(col2, col2 = new TextField());\r
+        glo.replaceComponent(col3, col3 = new TextField());\r
+\r
+        col1.setCaption(captions[0]);\r
+        col2.setCaption(captions[1]);\r
+        col3.setCaption(captions[2]);\r
+        col3.setIcon(new ClassResource("help.png", application));\r
+\r
+        glo.replaceComponent(row1, row1 = new Label());\r
+        glo.replaceComponent(row2, row2 = new Label());\r
+        glo.replaceComponent(row3, row3 = new Label());\r
+\r
+        row1.setCaption(captions[0]);\r
+        row2.setCaption(captions[1]);\r
+        row3.setCaption(captions[2]);\r
+\r
+        glo.replaceComponent(x3, x3 = getTestTabsheet());\r
+        glo.replaceComponent(x22, x22 = getTestTable());\r
+        x22.setComponentError(new UserError("component error, user error"));\r
+\r
+        x3.setCaption(captions[1]);\r
+        x22.setCaption(captions[2]);\r
+\r
+        return glo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getComponentAddReplaceMoveTests() {\r
+        final GridLayout glo = getTestGrid();\r
+        Layout baseLayout = getBaseLayout();\r
+        final Button button1 = new Button("Test add");\r
+        final Button button2 = new Button("Test replace");\r
+        final Button button3 = new Button("Test move");\r
+        final Button button4 = new Button("Test remove comp 1,1");\r
+        final Button button5 = new Button("Test remove row 0");\r
+        final Button button6 = new Button("Test remove comp row3");\r
+\r
+        baseLayout.addComponent(button1);\r
+        baseLayout.addComponent(button2);\r
+        baseLayout.addComponent(button3);\r
+        baseLayout.addComponent(button4);\r
+        baseLayout.addComponent(button5);\r
+        baseLayout.addComponent(button6);\r
+        baseLayout.addComponent(glo);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+        button4.setEnabled(false);\r
+        button5.setEnabled(false);\r
+        button6.setEnabled(false);\r
+\r
+        final HorizontalLayout source = new HorizontalLayout();\r
+        source.addComponent(new Label("MOVE LABEL 1"));\r
+        source.addComponent(new Label("MOVE LABEL 2"));\r
+\r
+        final AbstractComponent cc1 = getTestTabsheet();\r
+        cc1.setCaption("ADDED COMPONENT");\r
+\r
+        final AbstractComponent cc2 = getTestTabsheet();\r
+        cc2.setCaption("REPLACEMENT COMPONENT");\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.addComponent(cc1);\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.replaceComponent(x22, cc2);\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.moveComponentsFrom(source);\r
+                button3.setEnabled(false);\r
+                button4.setEnabled(true);\r
+            }\r
+        });\r
+        button4.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.removeComponent(1, 1);\r
+                button4.setEnabled(false);\r
+                button5.setEnabled(true);\r
+            }\r
+        });\r
+\r
+        button5.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.removeRow(0);\r
+                button5.setEnabled(false);\r
+                button6.setEnabled(true);\r
+            }\r
+        });\r
+        button6.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.removeComponent(row3);\r
+                button6.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getComponentSizingTests() {\r
+        final GridLayout glo = getTestGrid();\r
+        Layout baseLayout = getBaseLayout();\r
+        final Button button1 = new Button("full size, 3x1");\r
+        final Button button2 = new Button("200 px width, 3x1");\r
+        final Button button3 = new Button("200 px width, table");\r
+        final Button button4 = new Button("undefined size+add, table");\r
+\r
+        glo.replaceComponent(x22, x22 = getTestTable());\r
+\r
+        baseLayout.addComponent(button1);\r
+        baseLayout.addComponent(button2);\r
+        baseLayout.addComponent(button3);\r
+        baseLayout.addComponent(button4);\r
+        baseLayout.addComponent(glo);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+        button4.setEnabled(false);\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                x3.setSizeFull();\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                x3.setWidth("200px");\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                x22.setWidth("200px");\r
+                button3.setEnabled(false);\r
+                button4.setEnabled(true);\r
+            }\r
+        });\r
+        button4.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                x22.setSizeUndefined();\r
+                ((Table) x22).addItem(new Object[] { "NEW ROW1" }, 3);\r
+                ((Table) x22).addItem(new Object[] { "NEW ROW2" }, 4);\r
+                button4.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getExpandRatiosTests() {\r
+        final GridLayout glo = getTestGrid();\r
+        Layout baseLayout = getBaseLayout();\r
+        final Button button1 = new Button("set col 3 expand 1");\r
+        final Button button2 = new Button("set all cols expand 0.25");\r
+        final Button button3 = new Button("set row 0 expand 0.5");\r
+        final Button button4 = new Button("set row 3 expand 0.2");\r
+\r
+        glo.replaceComponent(x22, x22 = getTestTable());\r
+\r
+        baseLayout.addComponent(button1);\r
+        baseLayout.addComponent(button2);\r
+        baseLayout.addComponent(button3);\r
+        baseLayout.addComponent(button4);\r
+        baseLayout.addComponent(glo);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+        button4.setEnabled(false);\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setColumnExpandRatio(3, 1);\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setColumnExpandRatio(0, 0.25f);\r
+                glo.setColumnExpandRatio(1, 0.25f);\r
+                glo.setColumnExpandRatio(2, 0.25f);\r
+                glo.setColumnExpandRatio(3, 0.25f);\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setRowExpandRatio(0, 0.5f);\r
+                button3.setEnabled(false);\r
+                button4.setEnabled(true);\r
+            }\r
+        });\r
+        button4.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setRowExpandRatio(3, 0.3f);\r
+                button4.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getIconsTests() {\r
+        GridLayout glo = getTestGrid();\r
+        glo.setWidth("600px");\r
+        Resource[] icons = new Resource[] {\r
+                new ClassResource("alert.png", application),\r
+                new ClassResource("help.png", application) };\r
+\r
+        glo.replaceComponent(col1, col1 = new TextField("TEXTFIELD"));\r
+        glo.replaceComponent(col2, col2 = new Label("LABEL"));\r
+        glo.replaceComponent(col3, col3 = new Link("LINK", null));\r
+\r
+        col1.setIcon(icons[0]);\r
+        col2.setIcon(icons[1]);\r
+        col3.setIcon(icons[0]);\r
+        rc1.setIcon(icons[1]);\r
+        col3\r
+                .setCaption("long test caption bewucbwuebco or bmort b cbwecubw wbeucwe asdasd asdasda asdasd");\r
+        col3.setComponentError(new UserError("component error, user error"));\r
+\r
+        glo.replaceComponent(row1, row1 = new DateField());\r
+        glo.replaceComponent(row2, row2 = new NativeSelect());\r
+        glo.replaceComponent(row3, row3 = getTestTabsheet());\r
+\r
+        row1.setIcon(icons[1]);\r
+        row2.setIcon(icons[0]);\r
+        row3.setIcon(icons[1]);\r
+\r
+        glo.replaceComponent(x3, x3 = new CheckBox("CHECKBOX"));\r
+        glo.replaceComponent(x22, x22 = new Panel("PANEL"));\r
+        x22.setIcon(new ClassResource("alert.png", application));\r
+\r
+        x3.setIcon(icons[0]);\r
+        x22.setIcon(icons[1]);\r
+\r
+        return glo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getLayoutSizingTests() {\r
+        final GridLayout glo = getTestGrid();\r
+        Layout baseLayout = getBaseLayout();\r
+        baseLayout.setWidth("500px");\r
+        baseLayout.setHeight("500px");\r
+        final Button button1 = new Button("Set fixed height 350px");\r
+        final Button button2 = new Button(\r
+                "Set undefined size and add component");\r
+        final Button button3 = new Button("Set fixed width and height 75%");\r
+        final Button button4 = new Button("Set size full");\r
+\r
+        glo.replaceComponent(x22, x22 = getTestTable());\r
+\r
+        baseLayout.addComponent(button1);\r
+        baseLayout.addComponent(button2);\r
+        baseLayout.addComponent(button3);\r
+        baseLayout.addComponent(button4);\r
+        baseLayout.addComponent(glo);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+        button4.setEnabled(false);\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setHeight("350px");\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setSizeUndefined();\r
+                glo.addComponent(new Label("--- NEW LABEL ---"));\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setWidth("75%");\r
+                glo.setHeight("75%");\r
+                button3.setEnabled(false);\r
+                button4.setEnabled(true);\r
+            }\r
+        });\r
+        button4.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setSizeFull();\r
+                button4.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getMarginSpacingTests() {\r
+        final GridLayout glo = getTestGrid();\r
+        Layout baseLayout = getBaseLayout();\r
+        baseLayout.setWidth("500px");\r
+        baseLayout.setHeight("500px");\r
+        final Button button1 = new Button("Set margin on");\r
+        final Button button2 = new Button("Set spacing on");\r
+        final Button button3 = new Button("Set margin off");\r
+        final Button button4 = new Button("Set spacing off");\r
+\r
+        baseLayout.addComponent(button1);\r
+        baseLayout.addComponent(button2);\r
+        baseLayout.addComponent(button3);\r
+        baseLayout.addComponent(button4);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+        button4.setEnabled(false);\r
+\r
+        baseLayout.addComponent(glo);\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setMargin(true);\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setSpacing(true);\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setMargin(false);\r
+                button3.setEnabled(false);\r
+                button4.setEnabled(true);\r
+            }\r
+        });\r
+        button4.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                glo.setSpacing(false);\r
+                button4.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getRequiredErrorIndicatorsTests() {\r
+        GridLayout glo = getTestGrid();\r
+        glo.setWidth("600px");\r
+        Resource[] icons = new Resource[] {\r
+                new ClassResource("alert.png", application),\r
+                new ClassResource("help.png", application) };\r
+\r
+        glo.replaceComponent(col1, col1 = new TextField("TEXTFIELD"));\r
+        glo.replaceComponent(col2, col2 = new Label("LABEL"));\r
+        glo.replaceComponent(col3, col3 = new Link("LINK", null));\r
+\r
+        col1.setIcon(icons[0]);\r
+        col1.setComponentError(new UserError("component error, user error"));\r
+        col2\r
+                .setComponentError(new SystemError(\r
+                        "component error, system error"));\r
+        col3.setComponentError(new UserError("component error, user error"));\r
+\r
+        glo.replaceComponent(row1, row1 = new DateField());\r
+        glo.replaceComponent(row2, row2 = new NativeSelect());\r
+        glo.replaceComponent(row3, row3 = getTestTabsheet());\r
+\r
+        ((AbstractField) col1).setRequired(true);\r
+        ((AbstractField) col1).setValidationVisible(true);\r
+        ((AbstractField) col1).setRequiredError("required error");\r
+\r
+        ((AbstractField) row1).setRequired(true);\r
+        ((AbstractField) row1).setValidationVisible(true);\r
+        ((AbstractField) row1).setRequiredError("required error");\r
+\r
+        ((AbstractField) row2).setRequired(true);\r
+        ((AbstractField) row2).setValidationVisible(true);\r
+        ((AbstractField) row2).setRequiredError("required error");\r
+        row2.setComponentError(new UserError("component error, user error"));\r
+\r
+        row3.setComponentError(new UserError("component error, user error"));\r
+        row3.setIcon(icons[1]);\r
+        row3\r
+                .setCaption("long test caption bewucbwuebco or bmort b cbwecubw wbeucwe asdasd asdasda asdasd");\r
+\r
+        glo.replaceComponent(x3, x3 = new CheckBox("CHECKBOX"));\r
+        glo.replaceComponent(x22, x22 = new Panel("PANEL"));\r
+\r
+        x3.setComponentError(new UserError("component error, user error"));\r
+        x22.setComponentError(new UserError("component error, user error"));\r
+        x22.setIcon(icons[0]);\r
+\r
+        return glo;\r
+    }\r
+\r
+    private GridLayout getTestGrid() {\r
+        // Create a 4 by 4 grid layout.\r
+        GridLayout grid = new GridLayout(4, 4);\r
+        // Fill out the first row using the cursor.\r
+        grid.addComponent(rc1 = new Button("R/C 1"));\r
+\r
+        grid.addComponent(col1 = new Button("Col " + (grid.getCursorX() + 1)));\r
+        grid.addComponent(col2 = new Button("Col " + (grid.getCursorX() + 1)));\r
+        grid.addComponent(col3 = new Button("Col " + (grid.getCursorX() + 1)));\r
+\r
+        // Fill out the first column using coordinates.\r
+\r
+        grid.addComponent(row1 = new Button("Row " + 1), 0, 1);\r
+        grid.addComponent(row2 = new Button("Row " + 2), 0, 2);\r
+        grid.addComponent(row3 = new Button("Row " + 3), 0, 3);\r
+\r
+        // Add some components of various shapes.\r
+        grid.addComponent(x3 = new Button("3x1 button"), 1, 1, 3, 1);\r
+        grid.addComponent(new Label("1x2 cell"), 1, 2, 1, 3);\r
+        x22 = new InlineDateField("A 2x2 date field");\r
+        ((InlineDateField) x22).setResolution(DateField.RESOLUTION_DAY);\r
+        grid.addComponent(x22, 2, 2, 3, 3);\r
+        grid.setWidth("450px");\r
+        grid.setHeight("450px");\r
+        return grid;\r
+    }\r
+\r
+    private VerticalLayout getBaseLayout() {\r
+        VerticalLayout vlo = new VerticalLayout();\r
+        vlo.setSizeUndefined();\r
+        return vlo;\r
+    }\r
+\r
+    private AbstractComponent getTestTabsheet() {\r
+        TabSheet tabsheet = new TabSheet();\r
+        tabsheet.setSizeUndefined();\r
+        tabsheet.addTab(new Label("TAB1"), "TAB1", new ClassResource(\r
+                "alert.png", application));\r
+        tabsheet.addTab(new Label("TAB2"), "TAB2", null);\r
+        return tabsheet;\r
+    }\r
+\r
+    private Table getTestTable() {\r
+        Table t = new Table();\r
+        t.setSizeUndefined();\r
+        t.setPageLength(5);\r
+        t.addContainerProperty("test", String.class, null);\r
+        t.addItem(new Object[] { "qwertyuiop asdfghjklöä zxccvbnm,m,." }, 1);\r
+        t.addItem(new Object[] { "YGVYTCTCTRXRXRXRX" }, 2);\r
+        return t;\r
+    }\r
 \r
 }\r
index 103997ef8e591301cb465a72d786bd076a277482..56387e9584cd662e4e59fae5649c9899114533e5 100644 (file)
@@ -26,561 +26,565 @@ import com.vaadin.ui.themes.Reindeer;
 \r
 public class HorizontalLayoutTests extends AbstractLayoutTests {\r
 \r
-       private Application application;\r
-\r
-       public HorizontalLayoutTests(Application application) {\r
-               super();\r
-               this.application = application;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getAlignmentTests() {\r
-               Layout baseLayout = getBaseLayout();\r
-               HorizontalLayout vlo = getTestLaytout();\r
-               AbstractComponent[] components = new AbstractComponent[9];\r
-               String[] styles = { Reindeer.LAYOUT_BLUE, Reindeer.LAYOUT_WHITE };\r
-               Alignment[] alignments = new Alignment[] { Alignment.BOTTOM_LEFT,\r
-                               Alignment.BOTTOM_CENTER, Alignment.BOTTOM_RIGHT,\r
-                               Alignment.MIDDLE_LEFT, Alignment.MIDDLE_CENTER,\r
-                               Alignment.MIDDLE_RIGHT, Alignment.TOP_LEFT,\r
-                               Alignment.TOP_CENTER, Alignment.TOP_RIGHT };\r
-\r
-               vlo.addStyleName(Reindeer.LAYOUT_WHITE);\r
-               baseLayout.addComponent(vlo);\r
-               int index = 0;\r
-               for (int i = 0; i < components.length; i++) {\r
-                       if (i > 0 && i % 3 == 0) {\r
-                               vlo = getTestLaytout();\r
-                               vlo.addStyleName(styles[index++]);\r
-                               baseLayout.addComponent(vlo);\r
-                       }\r
-                       components[i] = new TextField();\r
-                       ((TextField) components[i]).setValue("FIELD " + i);\r
-                       vlo.addComponent(components[i]);\r
-                       vlo.setComponentAlignment(components[i], alignments[i]);\r
-               }\r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getCaptionsTests() {\r
-               Layout baseLayout = getBaseLayout();\r
-               AbstractComponent component = null;\r
-\r
-               String[] captions = new String[] {\r
-                               "",\r
-                               "abcdefghijklmnopq",\r
-                               "abc def hij klm nop qrs tuv xyz qaz wsx edc rfv tgb yhn ujm mko nji bhu vgy cft cde" };\r
-\r
-               HorizontalLayout vlo = getTestLaytout();\r
-               for (int i = 0; i < captions.length; i++) {\r
-                       component = new TextField();\r
-                       ((TextField) component).setValue("FIELD " + i);\r
-                       component.setCaption(captions[i]);\r
-                       vlo.addComponent(component);\r
-               }\r
-               baseLayout.addComponent(vlo);\r
-               vlo = getTestLaytout();\r
-               for (int i = 0; i < captions.length; i++) {\r
-                       component = new Label();\r
-                       ((Label) component).setValue("Label " + i);\r
-                       component.setCaption(captions[i]);\r
-                       vlo.addComponent(component);\r
-               }\r
-               baseLayout.addComponent(vlo);\r
-               vlo = getTestLaytout();\r
-               for (int i = 0; i < captions.length; i++) {\r
-                       component = new Select();\r
-                       component.setCaption(captions[i]);\r
-                       component.setIcon(new ClassResource("help.png", application));\r
-                       vlo.addComponent(component);\r
-               }\r
-               baseLayout.addComponent(vlo);\r
-               vlo = getTestLaytout();\r
-               for (int i = 0; i < captions.length; i++) {\r
-                       component = getTestTabsheet();\r
-                       component.setCaption(captions[i]);\r
-                       component.setComponentError(new UserError("component error, user error"));\r
-                       vlo.addComponent(component);\r
-               }\r
-               baseLayout.addComponent(vlo);\r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getComponentAddReplaceMoveTests() {\r
-               final HorizontalLayout vlo = getTestLaytout();\r
-               Layout baseLayout = getBaseLayout();\r
-               final HorizontalLayout source = new HorizontalLayout();\r
-               source.addComponent(new Label("OTHER LABEL 1"));\r
-               source.addComponent(new Label("OTHER LABEL 2"));\r
-\r
-               final AbstractComponent c1 = new Button("BUTTON");\r
-               final AbstractComponent c2 = new Label("<b>LABEL</b>",\r
-                               Label.CONTENT_XHTML);\r
-               final AbstractComponent c3 = new Table("TABLE");\r
-               c3.setHeight("100px");\r
-               c3.setWidth("100%");\r
-\r
-               final Button addButton = new Button("Test add");\r
-               final Button replaceButton = new Button("Test replace");\r
-               final Button moveButton = new Button("Test move");\r
-               final Button removeButton = new Button("Test remove");\r
-\r
-               replaceButton.setEnabled(false);\r
-               moveButton.setEnabled(false);\r
-               removeButton.setEnabled(false);\r
-\r
-               addButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.addComponent(new TextField());\r
-                               addButton.setEnabled(false);\r
-                               replaceButton.setEnabled(true);\r
-                       }\r
-               });\r
-               replaceButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.replaceComponent(c1, c3);\r
-                               replaceButton.setEnabled(false);\r
-                               moveButton.setEnabled(true);\r
-                       }\r
-               });\r
-               moveButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.moveComponentsFrom(source);\r
-                               moveButton.setEnabled(false);\r
-                               removeButton.setEnabled(true);\r
-                       }\r
-               });\r
-               removeButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.removeComponent(c1);\r
-                               vlo.removeComponent(c2);\r
-                               removeButton.setEnabled(false);\r
-                       }\r
-               });\r
-\r
-               baseLayout.addComponent(addButton);\r
-               baseLayout.addComponent(replaceButton);\r
-               baseLayout.addComponent(moveButton);\r
-               baseLayout.addComponent(removeButton);\r
-\r
-               vlo.addComponent(c1);\r
-               vlo.addComponent(c2);\r
-               vlo.addComponent(c3);\r
-               baseLayout.addComponent(vlo);\r
-\r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getComponentSizingTests() {\r
-               final HorizontalLayout vlo = getTestLaytout();\r
-               Layout baseLayout = getBaseLayout();\r
-\r
-               final AbstractComponent c = getTestTable();\r
-\r
-               final Button biggerButton = new Button("full size");\r
-               final Button smallerButton = new Button("200 px width");\r
-               final Button originalButton = new Button("undefined size+add");\r
-\r
-               baseLayout.addComponent(biggerButton);\r
-               baseLayout.addComponent(smallerButton);\r
-               baseLayout.addComponent(originalButton);\r
-               vlo.addComponent(c);\r
-               baseLayout.addComponent(vlo);\r
-\r
-               biggerButton.setEnabled(true);\r
-               smallerButton.setEnabled(false);\r
-               originalButton.setEnabled(false);\r
-\r
-               biggerButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               c.setSizeFull();\r
-                               biggerButton.setEnabled(false);\r
-                               smallerButton.setEnabled(true);\r
-                       }\r
-               });\r
-               smallerButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               c.setWidth("200px");\r
-                               smallerButton.setEnabled(false);\r
-                               originalButton.setEnabled(true);\r
-                       }\r
-               });\r
-               originalButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               originalButton.setEnabled(false);\r
-                               c.setSizeUndefined();\r
-                               ((Table) c)\r
-                                               .addItem(\r
-                                                               new Object[] { "VYVTCTC VYVYV ECECCE NIDSD SDMPOM" },\r
-                                                               3);\r
-                       }\r
-               });\r
-\r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getLayoutSizingTests() {\r
-               final HorizontalLayout vlo = getTestLaytout();\r
-               vlo.setSpacing(false);\r
-               vlo.setMargin(false);\r
-               Layout baseLayout = getBaseLayout();\r
-               final AbstractComponent c1 = getTestTable();\r
-               c1.setSizeFull();\r
-               final AbstractComponent c2 = getTestTable();\r
-               c2.setSizeFull();\r
-\r
-               final Button button1 = new Button("Set fixed height 350px");\r
-               final Button button2 = new Button(\r
-                               "Set undefined size and add component");\r
-               final Button button3 = new Button("Set fixed width and height 75%");\r
-               final Button button4 = new Button("Set size full");\r
-\r
-               baseLayout.addComponent(button1);\r
-               baseLayout.addComponent(button2);\r
-               baseLayout.addComponent(button3);\r
-               baseLayout.addComponent(button4);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-               button4.setEnabled(false);\r
-\r
-               vlo.addComponent(c1);\r
-               vlo.addComponent(c2);\r
-               vlo.setExpandRatio(c1, 0.5f);\r
-               vlo.setExpandRatio(c2, 0.5f);\r
-\r
-               baseLayout.addComponent(vlo);\r
-               \r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setHeight("350px");\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setSizeUndefined();\r
-                               vlo.addComponent(new Label("--- NEW LABEL ---"));\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setWidth("75%");\r
-                               vlo.setHeight("75%");\r
-                               button3.setEnabled(false);\r
-                               button4.setEnabled(true);\r
-                       }\r
-               });\r
-               button4.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setSizeFull();\r
-                               button4.setEnabled(false);\r
-                       }\r
-               });\r
-\r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getExpandRatiosTests() {\r
-               final HorizontalLayout vlo = getTestLaytout();\r
-               Layout baseLayout = getBaseLayout();\r
-               final AbstractComponent c1 = getTestTable();\r
-               c1.setSizeFull();\r
-               final AbstractComponent c2 = getTestTable();\r
-               c2.setSizeFull();\r
-\r
-               final Button button1 = new Button("Expand to 1/undefined");\r
-               final Button button2 = new Button("Expand to 0.5/0.5");\r
-               final Button button3 = new Button("Expand to 0.75/0.25");\r
-\r
-               baseLayout.addComponent(button1);\r
-               baseLayout.addComponent(button2);\r
-               baseLayout.addComponent(button3);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-\r
-               vlo.addComponent(c1);\r
-               vlo.addComponent(c2);\r
-               baseLayout.addComponent(vlo);\r
-\r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setExpandRatio(c1, 1.0f);\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setExpandRatio(c1, 0.5f);\r
-                               vlo.setExpandRatio(c2, 0.5f);\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setExpandRatio(c1, 0.75f);\r
-                               vlo.setExpandRatio(c2, 0.25f);\r
-                               button3.setEnabled(false);\r
-                       }\r
-               });\r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getIconsTests() {\r
-               HorizontalLayout vlo = getTestLaytout();\r
-               AbstractComponent[] components = new AbstractComponent[2];\r
-               Layout baseLayout = getBaseLayout();\r
-               Resource[] icons = new Resource[] {\r
-                               new ClassResource("alert.png", application),\r
-                               new ClassResource("help.png", application) };\r
-\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new TextField();\r
-                       ((TextField) components[i]).setValue("FIELD " + i);\r
-                       components[i].setIcon(icons[i]);\r
-                       components[i].setCaption("long test caption bewucbwuebco or bmort b cbwecubw wbeucwe asdasd asdasda asdasd");\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new Label();\r
-                       ((Label) components[i]).setValue("Label " + i);\r
-                       components[i].setIcon(icons[i]);\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               baseLayout.addComponent(vlo);\r
-               vlo = getTestLaytout();\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new Select();\r
-                       components[i].setIcon(icons[i]);\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new Button();\r
-                       components[i].setComponentError(new UserError("component error, user error"));\r
-                       components[i].setIcon(icons[i]);\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new Link("Link", null);\r
-                       components[i].setIcon(icons[i]);\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               baseLayout.addComponent(vlo);\r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getMarginSpacingTests() {\r
-               final HorizontalLayout vlo = getTestLaytout();\r
-               vlo.setSpacing(false);\r
-               vlo.setMargin(false);\r
-               Layout baseLayout = getBaseLayout();\r
-               final AbstractComponent c1 = getTestTable();\r
-               c1.setSizeFull();\r
-               final AbstractComponent c2 = getTestTable();\r
-               c2.setSizeFull();\r
-\r
-               final Button button1 = new Button("Set margin on");\r
-               final Button button2 = new Button("Set spacing on");\r
-               final Button button3 = new Button("Set margin off");\r
-               final Button button4 = new Button("Set spacing off");\r
-\r
-               baseLayout.addComponent(button1);\r
-               baseLayout.addComponent(button2);\r
-               baseLayout.addComponent(button3);\r
-               baseLayout.addComponent(button4);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-               button4.setEnabled(false);\r
-\r
-               vlo.addComponent(c1);\r
-               vlo.addComponent(c2);\r
-               vlo.setExpandRatio(c1, 0.5f);\r
-               vlo.setExpandRatio(c2, 0.5f);\r
-               baseLayout.addComponent(vlo);\r
-               \r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setMargin(true);\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setSpacing(true);\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setMargin(false);\r
-                               button3.setEnabled(false);\r
-                               button4.setEnabled(true);\r
-                       }\r
-               });\r
-               button4.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setSpacing(false);\r
-                               button4.setEnabled(false);\r
-                       }\r
-               });\r
-\r
-               return baseLayout;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getRequiredErrorIndicatorsTests() {\r
-               HorizontalLayout vlo = getTestLaytout();\r
-               Layout baseLayout = getBaseLayout();\r
-               AbstractComponent[] components = new AbstractComponent[4];\r
-               components[0] = new Label("LABEL");\r
-               components[0].setSizeUndefined();\r
-               components[1] = new Button("BUTTON");\r
-               components[2] = getTestTable();\r
-               components[3] = getTestTabsheet();\r
-               components[3].setIcon(new ClassResource("help.png", application));\r
-               \r
-               AbstractField[] fields = new AbstractField[6];\r
-               fields[0] = new TextField();\r
-               fields[0].setRequired(true);\r
-               fields[0].setValidationVisible(true);\r
-               fields[0].setRequiredError("required error");\r
-\r
-               fields[1] = new TextField();\r
-               fields[1].setValue("TEXTFIELD2");\r
-               fields[1]\r
-                               .setComponentError(new UserError("component error, user error"));\r
-\r
-               fields[2] = new Select();\r
-               fields[2].setComponentError(new SystemError(\r
-                               "component error, system error"));\r
-               fields[3] = new DateField();\r
-               fields[3].setComponentError(new SystemError(\r
-                               "component error, system error"));\r
-\r
-               fields[4] = new CheckBox();\r
-               fields[4]\r
-                               .setComponentError(new UserError("component error, user error"));\r
-\r
-               fields[5] = new NativeSelect();\r
-               fields[5].setRequired(true);\r
-               fields[5].setValidationVisible(true);\r
-               fields[5].setRequiredError("required error");\r
-               fields[5].setComponentError(new UserError("component error, user error"));\r
-               fields[5].setIcon(new ClassResource("alert.png", application));\r
-\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i].setComponentError(new UserError(\r
-                                       "component error, user error"));\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               baseLayout.addComponent(vlo);\r
-               vlo = getTestLaytout();\r
-               for (int i = 0; i < fields.length; i++) {\r
-                       vlo.addComponent(fields[i]);\r
-               }\r
-               baseLayout.addComponent(vlo);\r
-               return baseLayout;\r
-       }\r
-\r
-       private VerticalLayout getBaseLayout() {\r
-               VerticalLayout vlo = new VerticalLayout();\r
-               vlo.setSizeUndefined();\r
-               return vlo;\r
-       }\r
-\r
-       private HorizontalLayout getTestLaytout() {\r
-               HorizontalLayout vlo = new HorizontalLayout();\r
-               vlo.setHeight("100px");\r
-               vlo.setWidth("750px");\r
-               return vlo;\r
-       }\r
-\r
-       private AbstractComponent getTestTabsheet() {\r
-               TabSheet tabsheet = new TabSheet();\r
-               tabsheet.setSizeUndefined();\r
-               tabsheet.addTab(new Label("TAB1"), "TAB1", new ClassResource(\r
-                               "alert.png", application));\r
-               tabsheet.addTab(new Label("TAB2"), "TAB2", null);\r
-               return tabsheet;\r
-       }\r
-\r
-       private Table getTestTable() {\r
-               Table t = new Table();\r
-               t.setSizeUndefined();\r
-               t.setPageLength(5);\r
-               t.addContainerProperty("test", String.class, null);\r
-               t.addItem(new Object[] { "qwertyuiop asdfghjklöä zxccvbnm,m,." }, 1);\r
-               t.addItem(new Object[] { "YGVYTCTCTRXRXRXRX" }, 2);\r
-               return t;\r
-       }\r
+    private Application application;\r
+\r
+    public HorizontalLayoutTests(Application application) {\r
+        super();\r
+        this.application = application;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getAlignmentTests() {\r
+        Layout baseLayout = getBaseLayout();\r
+        HorizontalLayout vlo = getTestLaytout();\r
+        AbstractComponent[] components = new AbstractComponent[9];\r
+        String[] styles = { Reindeer.LAYOUT_BLUE, Reindeer.LAYOUT_WHITE };\r
+        Alignment[] alignments = new Alignment[] { Alignment.BOTTOM_LEFT,\r
+                Alignment.BOTTOM_CENTER, Alignment.BOTTOM_RIGHT,\r
+                Alignment.MIDDLE_LEFT, Alignment.MIDDLE_CENTER,\r
+                Alignment.MIDDLE_RIGHT, Alignment.TOP_LEFT,\r
+                Alignment.TOP_CENTER, Alignment.TOP_RIGHT };\r
+\r
+        vlo.addStyleName(Reindeer.LAYOUT_WHITE);\r
+        baseLayout.addComponent(vlo);\r
+        int index = 0;\r
+        for (int i = 0; i < components.length; i++) {\r
+            if (i > 0 && i % 3 == 0) {\r
+                vlo = getTestLaytout();\r
+                vlo.addStyleName(styles[index++]);\r
+                baseLayout.addComponent(vlo);\r
+            }\r
+            components[i] = new TextField();\r
+            ((TextField) components[i]).setValue("FIELD " + i);\r
+            vlo.addComponent(components[i]);\r
+            vlo.setComponentAlignment(components[i], alignments[i]);\r
+        }\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getCaptionsTests() {\r
+        Layout baseLayout = getBaseLayout();\r
+        AbstractComponent component = null;\r
+\r
+        String[] captions = new String[] {\r
+                "",\r
+                "abcdefghijklmnopq",\r
+                "abc def hij klm nop qrs tuv xyz qaz wsx edc rfv tgb yhn ujm mko nji bhu vgy cft cde" };\r
+\r
+        HorizontalLayout vlo = getTestLaytout();\r
+        for (int i = 0; i < captions.length; i++) {\r
+            component = new TextField();\r
+            ((TextField) component).setValue("FIELD " + i);\r
+            component.setCaption(captions[i]);\r
+            vlo.addComponent(component);\r
+        }\r
+        baseLayout.addComponent(vlo);\r
+        vlo = getTestLaytout();\r
+        for (int i = 0; i < captions.length; i++) {\r
+            component = new Label();\r
+            ((Label) component).setValue("Label " + i);\r
+            component.setCaption(captions[i]);\r
+            vlo.addComponent(component);\r
+        }\r
+        baseLayout.addComponent(vlo);\r
+        vlo = getTestLaytout();\r
+        for (int i = 0; i < captions.length; i++) {\r
+            component = new Select();\r
+            component.setCaption(captions[i]);\r
+            component.setIcon(new ClassResource("help.png", application));\r
+            vlo.addComponent(component);\r
+        }\r
+        baseLayout.addComponent(vlo);\r
+        vlo = getTestLaytout();\r
+        for (int i = 0; i < captions.length; i++) {\r
+            component = getTestTabsheet();\r
+            component.setCaption(captions[i]);\r
+            component.setComponentError(new UserError(\r
+                    "component error, user error"));\r
+            vlo.addComponent(component);\r
+        }\r
+        baseLayout.addComponent(vlo);\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getComponentAddReplaceMoveTests() {\r
+        final HorizontalLayout vlo = getTestLaytout();\r
+        Layout baseLayout = getBaseLayout();\r
+        final HorizontalLayout source = new HorizontalLayout();\r
+        source.addComponent(new Label("OTHER LABEL 1"));\r
+        source.addComponent(new Label("OTHER LABEL 2"));\r
+\r
+        final AbstractComponent c1 = new Button("BUTTON");\r
+        final AbstractComponent c2 = new Label("<b>LABEL</b>",\r
+                Label.CONTENT_XHTML);\r
+        final AbstractComponent c3 = new Table("TABLE");\r
+        c3.setHeight("100px");\r
+        c3.setWidth("100%");\r
+\r
+        final Button addButton = new Button("Test add");\r
+        final Button replaceButton = new Button("Test replace");\r
+        final Button moveButton = new Button("Test move");\r
+        final Button removeButton = new Button("Test remove");\r
+\r
+        replaceButton.setEnabled(false);\r
+        moveButton.setEnabled(false);\r
+        removeButton.setEnabled(false);\r
+\r
+        addButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.addComponent(new TextField());\r
+                addButton.setEnabled(false);\r
+                replaceButton.setEnabled(true);\r
+            }\r
+        });\r
+        replaceButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.replaceComponent(c1, c3);\r
+                replaceButton.setEnabled(false);\r
+                moveButton.setEnabled(true);\r
+            }\r
+        });\r
+        moveButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.moveComponentsFrom(source);\r
+                moveButton.setEnabled(false);\r
+                removeButton.setEnabled(true);\r
+            }\r
+        });\r
+        removeButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.removeComponent(c1);\r
+                vlo.removeComponent(c2);\r
+                removeButton.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        baseLayout.addComponent(addButton);\r
+        baseLayout.addComponent(replaceButton);\r
+        baseLayout.addComponent(moveButton);\r
+        baseLayout.addComponent(removeButton);\r
+\r
+        vlo.addComponent(c1);\r
+        vlo.addComponent(c2);\r
+        vlo.addComponent(c3);\r
+        baseLayout.addComponent(vlo);\r
+\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getComponentSizingTests() {\r
+        final HorizontalLayout vlo = getTestLaytout();\r
+        Layout baseLayout = getBaseLayout();\r
+\r
+        final AbstractComponent c = getTestTable();\r
+\r
+        final Button biggerButton = new Button("full size");\r
+        final Button smallerButton = new Button("200 px width");\r
+        final Button originalButton = new Button("undefined size+add");\r
+\r
+        baseLayout.addComponent(biggerButton);\r
+        baseLayout.addComponent(smallerButton);\r
+        baseLayout.addComponent(originalButton);\r
+        vlo.addComponent(c);\r
+        baseLayout.addComponent(vlo);\r
+\r
+        biggerButton.setEnabled(true);\r
+        smallerButton.setEnabled(false);\r
+        originalButton.setEnabled(false);\r
+\r
+        biggerButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                c.setSizeFull();\r
+                biggerButton.setEnabled(false);\r
+                smallerButton.setEnabled(true);\r
+            }\r
+        });\r
+        smallerButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                c.setWidth("200px");\r
+                smallerButton.setEnabled(false);\r
+                originalButton.setEnabled(true);\r
+            }\r
+        });\r
+        originalButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                originalButton.setEnabled(false);\r
+                c.setSizeUndefined();\r
+                ((Table) c)\r
+                        .addItem(\r
+                                new Object[] { "VYVTCTC VYVYV ECECCE NIDSD SDMPOM" },\r
+                                3);\r
+            }\r
+        });\r
+\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getLayoutSizingTests() {\r
+        final HorizontalLayout vlo = getTestLaytout();\r
+        vlo.setSpacing(false);\r
+        vlo.setMargin(false);\r
+        Layout baseLayout = getBaseLayout();\r
+        final AbstractComponent c1 = getTestTable();\r
+        c1.setSizeFull();\r
+        final AbstractComponent c2 = getTestTable();\r
+        c2.setSizeFull();\r
+\r
+        final Button button1 = new Button("Set fixed height 350px");\r
+        final Button button2 = new Button(\r
+                "Set undefined size and add component");\r
+        final Button button3 = new Button("Set fixed width and height 75%");\r
+        final Button button4 = new Button("Set size full");\r
+\r
+        baseLayout.addComponent(button1);\r
+        baseLayout.addComponent(button2);\r
+        baseLayout.addComponent(button3);\r
+        baseLayout.addComponent(button4);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+        button4.setEnabled(false);\r
+\r
+        vlo.addComponent(c1);\r
+        vlo.addComponent(c2);\r
+        vlo.setExpandRatio(c1, 0.5f);\r
+        vlo.setExpandRatio(c2, 0.5f);\r
+\r
+        baseLayout.addComponent(vlo);\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setHeight("350px");\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setSizeUndefined();\r
+                vlo.addComponent(new Label("--- NEW LABEL ---"));\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setWidth("75%");\r
+                vlo.setHeight("75%");\r
+                button3.setEnabled(false);\r
+                button4.setEnabled(true);\r
+            }\r
+        });\r
+        button4.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setSizeFull();\r
+                button4.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getExpandRatiosTests() {\r
+        final HorizontalLayout vlo = getTestLaytout();\r
+        Layout baseLayout = getBaseLayout();\r
+        final AbstractComponent c1 = getTestTable();\r
+        c1.setSizeFull();\r
+        final AbstractComponent c2 = getTestTable();\r
+        c2.setSizeFull();\r
+\r
+        final Button button1 = new Button("Expand to 1/undefined");\r
+        final Button button2 = new Button("Expand to 0.5/0.5");\r
+        final Button button3 = new Button("Expand to 0.75/0.25");\r
+\r
+        baseLayout.addComponent(button1);\r
+        baseLayout.addComponent(button2);\r
+        baseLayout.addComponent(button3);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+\r
+        vlo.addComponent(c1);\r
+        vlo.addComponent(c2);\r
+        baseLayout.addComponent(vlo);\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setExpandRatio(c1, 1.0f);\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setExpandRatio(c1, 0.5f);\r
+                vlo.setExpandRatio(c2, 0.5f);\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setExpandRatio(c1, 0.75f);\r
+                vlo.setExpandRatio(c2, 0.25f);\r
+                button3.setEnabled(false);\r
+            }\r
+        });\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getIconsTests() {\r
+        HorizontalLayout vlo = getTestLaytout();\r
+        AbstractComponent[] components = new AbstractComponent[2];\r
+        Layout baseLayout = getBaseLayout();\r
+        Resource[] icons = new Resource[] {\r
+                new ClassResource("alert.png", application),\r
+                new ClassResource("help.png", application) };\r
+\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new TextField();\r
+            ((TextField) components[i]).setValue("FIELD " + i);\r
+            components[i].setIcon(icons[i]);\r
+            components[i]\r
+                    .setCaption("long test caption bewucbwuebco or bmort b cbwecubw wbeucwe asdasd asdasda asdasd");\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new Label();\r
+            ((Label) components[i]).setValue("Label " + i);\r
+            components[i].setIcon(icons[i]);\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        baseLayout.addComponent(vlo);\r
+        vlo = getTestLaytout();\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new Select();\r
+            components[i].setIcon(icons[i]);\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new Button();\r
+            components[i].setComponentError(new UserError(\r
+                    "component error, user error"));\r
+            components[i].setIcon(icons[i]);\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new Link("Link", null);\r
+            components[i].setIcon(icons[i]);\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        baseLayout.addComponent(vlo);\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getMarginSpacingTests() {\r
+        final HorizontalLayout vlo = getTestLaytout();\r
+        vlo.setSpacing(false);\r
+        vlo.setMargin(false);\r
+        Layout baseLayout = getBaseLayout();\r
+        final AbstractComponent c1 = getTestTable();\r
+        c1.setSizeFull();\r
+        final AbstractComponent c2 = getTestTable();\r
+        c2.setSizeFull();\r
+\r
+        final Button button1 = new Button("Set margin on");\r
+        final Button button2 = new Button("Set spacing on");\r
+        final Button button3 = new Button("Set margin off");\r
+        final Button button4 = new Button("Set spacing off");\r
+\r
+        baseLayout.addComponent(button1);\r
+        baseLayout.addComponent(button2);\r
+        baseLayout.addComponent(button3);\r
+        baseLayout.addComponent(button4);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+        button4.setEnabled(false);\r
+\r
+        vlo.addComponent(c1);\r
+        vlo.addComponent(c2);\r
+        vlo.setExpandRatio(c1, 0.5f);\r
+        vlo.setExpandRatio(c2, 0.5f);\r
+        baseLayout.addComponent(vlo);\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setMargin(true);\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setSpacing(true);\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setMargin(false);\r
+                button3.setEnabled(false);\r
+                button4.setEnabled(true);\r
+            }\r
+        });\r
+        button4.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setSpacing(false);\r
+                button4.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        return baseLayout;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getRequiredErrorIndicatorsTests() {\r
+        HorizontalLayout vlo = getTestLaytout();\r
+        Layout baseLayout = getBaseLayout();\r
+        AbstractComponent[] components = new AbstractComponent[4];\r
+        components[0] = new Label("LABEL");\r
+        components[0].setSizeUndefined();\r
+        components[1] = new Button("BUTTON");\r
+        components[2] = getTestTable();\r
+        components[3] = getTestTabsheet();\r
+        components[3].setIcon(new ClassResource("help.png", application));\r
+\r
+        AbstractField[] fields = new AbstractField[6];\r
+        fields[0] = new TextField();\r
+        fields[0].setRequired(true);\r
+        fields[0].setValidationVisible(true);\r
+        fields[0].setRequiredError("required error");\r
+\r
+        fields[1] = new TextField();\r
+        fields[1].setValue("TEXTFIELD2");\r
+        fields[1]\r
+                .setComponentError(new UserError("component error, user error"));\r
+\r
+        fields[2] = new Select();\r
+        fields[2].setComponentError(new SystemError(\r
+                "component error, system error"));\r
+        fields[3] = new DateField();\r
+        fields[3].setComponentError(new SystemError(\r
+                "component error, system error"));\r
+\r
+        fields[4] = new CheckBox();\r
+        fields[4]\r
+                .setComponentError(new UserError("component error, user error"));\r
+\r
+        fields[5] = new NativeSelect();\r
+        fields[5].setRequired(true);\r
+        fields[5].setValidationVisible(true);\r
+        fields[5].setRequiredError("required error");\r
+        fields[5]\r
+                .setComponentError(new UserError("component error, user error"));\r
+        fields[5].setIcon(new ClassResource("alert.png", application));\r
+\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i].setComponentError(new UserError(\r
+                    "component error, user error"));\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        baseLayout.addComponent(vlo);\r
+        vlo = getTestLaytout();\r
+        for (int i = 0; i < fields.length; i++) {\r
+            vlo.addComponent(fields[i]);\r
+        }\r
+        baseLayout.addComponent(vlo);\r
+        return baseLayout;\r
+    }\r
+\r
+    private VerticalLayout getBaseLayout() {\r
+        VerticalLayout vlo = new VerticalLayout();\r
+        vlo.setSizeUndefined();\r
+        return vlo;\r
+    }\r
+\r
+    private HorizontalLayout getTestLaytout() {\r
+        HorizontalLayout vlo = new HorizontalLayout();\r
+        vlo.setHeight("100px");\r
+        vlo.setWidth("750px");\r
+        return vlo;\r
+    }\r
+\r
+    private AbstractComponent getTestTabsheet() {\r
+        TabSheet tabsheet = new TabSheet();\r
+        tabsheet.setSizeUndefined();\r
+        tabsheet.addTab(new Label("TAB1"), "TAB1", new ClassResource(\r
+                "alert.png", application));\r
+        tabsheet.addTab(new Label("TAB2"), "TAB2", null);\r
+        return tabsheet;\r
+    }\r
+\r
+    private Table getTestTable() {\r
+        Table t = new Table();\r
+        t.setSizeUndefined();\r
+        t.setPageLength(5);\r
+        t.addContainerProperty("test", String.class, null);\r
+        t.addItem(new Object[] { "qwertyuiop asdfghjklöä zxccvbnm,m,." }, 1);\r
+        t.addItem(new Object[] { "YGVYTCTCTRXRXRXRX" }, 2);\r
+        return t;\r
+    }\r
 }\r
index 134aa979ac12f803f9399881cbe0584098eafe9b..149232b5c4a0d0fbaceae5bb427dbe8c77a3a8e0 100644 (file)
@@ -5,107 +5,120 @@ import java.lang.reflect.Method;
 import com.vaadin.Application;
 import com.vaadin.data.Property;
 import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.tests.components.AbstractTestCase;
 import com.vaadin.ui.*;
 import com.vaadin.ui.Button.ClickEvent;
 import com.vaadin.ui.themes.Reindeer;
 
-public class LayoutTesterApplication extends Application {
-       private static final long serialVersionUID = 4599974816374406981L;
-       Button nextButton = new Button("Next");
-       private int layoutIndex = -1;
-       private int layoutCount = 1;
-       
-       private Method[] layoutGetters;
-       private Window mainWindow;
-       private NativeSelect layoutSelector;
-       
-       @Override
-       public void init() {
-               mainWindow = new Window("LayoutTesterApplication");
-               setMainWindow(mainWindow);
-               loadLayoutGetters();
-               nextLaytout();
-               
-               nextButton.addListener(new Button.ClickListener() {
-                       private static final long serialVersionUID = -1577298910202253538L;
-                       @Override
-                       public void buttonClick(ClickEvent event) {
-                               nextLaytout();
-                       }
-               });
-       }
-       
-       private void nextLaytout() {
-               try {
-                       mainWindow.removeAllComponents();
-                       HorizontalLayout vlo = new HorizontalLayout();
-                       vlo.setSpacing(true);
-                       ++layoutIndex;
-                       if (layoutIndex>=layoutCount) {
-                               layoutIndex=0;
-                       }
-                       mainWindow.addComponent(vlo);
-                       vlo.addComponent(nextButton);
-                       vlo.addComponent(getLayoutTypeSelect());
-                       vlo.addComponent(new Label(layoutGetters[layoutIndex].getName()));
-                       
-                       Layout lo = null;
-                       if (layoutSelector.getValue()==VerticalLayout.class) {
-                               lo = getVerticalTestLayout(layoutIndex);
-                       }
-                       else if (layoutSelector.getValue()==HorizontalLayout.class) {
-                               lo = getHorizontalTestLayout(layoutIndex);
-                       }
-                       else if (layoutSelector.getValue()==GridLayout.class) {
-                               lo = getGridTestLayout(layoutIndex);
-                       }
-                       if (lo!=null) {
-                               lo.addStyleName(Reindeer.LAYOUT_BLUE);
-                               mainWindow.addComponent(lo);
-                       }
-               } catch (Exception e) {
-                       e.printStackTrace();
-                       throw new RuntimeException(e);
-               }
-       }
-       
-       public void loadLayoutGetters() {
-               layoutGetters = AbstractLayoutTests.class.getDeclaredMethods();
-               layoutCount = layoutGetters.length;
-       }
-       
-       public Layout getVerticalTestLayout(int index) throws Exception {
-               VerticalLayoutTests vlotest = new VerticalLayoutTests(this);
-               return (Layout) layoutGetters[index].invoke(vlotest, (Object[])null);
-       }
-       public Layout getHorizontalTestLayout(int index) throws Exception {
-               HorizontalLayoutTests hlotest = new HorizontalLayoutTests(this);
-               return (Layout) layoutGetters[index].invoke(hlotest, (Object[])null);
-       }
-       public Layout getGridTestLayout(int index) throws Exception {
-               GridLayoutTests hlotest = new GridLayoutTests(this);
-               return (Layout) layoutGetters[index].invoke(hlotest, (Object[])null);
-       }
-       
-       private NativeSelect getLayoutTypeSelect() {
-               if (layoutSelector==null) {
-                       layoutSelector = new NativeSelect();
-                       layoutSelector.addItem(VerticalLayout.class);
-                       layoutSelector.addItem(HorizontalLayout.class);
-                       layoutSelector.addItem(GridLayout.class);
-                       layoutSelector.setNullSelectionAllowed(false);
-                       layoutSelector.setImmediate(true);
-                       layoutSelector.select(VerticalLayout.class);
-                       layoutSelector.addListener(new Property.ValueChangeListener() {
-                               private static final long serialVersionUID = -605319614765838359L;
-                               @Override
-                               public void valueChange(ValueChangeEvent event) {
-                                       layoutIndex=-1;
-                                       nextLaytout();
-                               }
-                       });
-               }
-               return layoutSelector;
-       }
+@SuppressWarnings("serial")
+public class LayoutTesterApplication extends AbstractTestCase {
+    Button nextButton = new Button("Next");
+    private int layoutIndex = -1;
+    private int layoutCount = 1;
+
+    private Method[] layoutGetters;
+    private Window mainWindow;
+    private NativeSelect layoutSelector;
+
+    @Override
+    public void init() {
+        mainWindow = new Window("LayoutTesterApplication");
+        setMainWindow(mainWindow);
+        loadLayoutGetters();
+        nextLaytout();
+
+        nextButton.addListener(new Button.ClickListener() {
+            private static final long serialVersionUID = -1577298910202253538L;
+
+            @Override
+            public void buttonClick(ClickEvent event) {
+                nextLaytout();
+            }
+        });
+    }
+
+    private void nextLaytout() {
+        try {
+            mainWindow.removeAllComponents();
+            HorizontalLayout vlo = new HorizontalLayout();
+            vlo.setSpacing(true);
+            ++layoutIndex;
+            if (layoutIndex >= layoutCount) {
+                layoutIndex = 0;
+            }
+            mainWindow.addComponent(vlo);
+            vlo.addComponent(nextButton);
+            vlo.addComponent(getLayoutTypeSelect());
+            vlo.addComponent(new Label(layoutGetters[layoutIndex].getName()));
+
+            Layout lo = null;
+            if (layoutSelector.getValue() == VerticalLayout.class) {
+                lo = getVerticalTestLayout(layoutIndex);
+            } else if (layoutSelector.getValue() == HorizontalLayout.class) {
+                lo = getHorizontalTestLayout(layoutIndex);
+            } else if (layoutSelector.getValue() == GridLayout.class) {
+                lo = getGridTestLayout(layoutIndex);
+            }
+            if (lo != null) {
+                lo.addStyleName(Reindeer.LAYOUT_BLUE);
+                mainWindow.addComponent(lo);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void loadLayoutGetters() {
+        layoutGetters = AbstractLayoutTests.class.getDeclaredMethods();
+        layoutCount = layoutGetters.length;
+    }
+
+    public Layout getVerticalTestLayout(int index) throws Exception {
+        VerticalLayoutTests vlotest = new VerticalLayoutTests(this);
+        return (Layout) layoutGetters[index].invoke(vlotest, (Object[]) null);
+    }
+
+    public Layout getHorizontalTestLayout(int index) throws Exception {
+        HorizontalLayoutTests hlotest = new HorizontalLayoutTests(this);
+        return (Layout) layoutGetters[index].invoke(hlotest, (Object[]) null);
+    }
+
+    public Layout getGridTestLayout(int index) throws Exception {
+        GridLayoutTests hlotest = new GridLayoutTests(this);
+        return (Layout) layoutGetters[index].invoke(hlotest, (Object[]) null);
+    }
+
+    private NativeSelect getLayoutTypeSelect() {
+        if (layoutSelector == null) {
+            layoutSelector = new NativeSelect();
+            layoutSelector.addItem(VerticalLayout.class);
+            layoutSelector.addItem(HorizontalLayout.class);
+            layoutSelector.addItem(GridLayout.class);
+            layoutSelector.setNullSelectionAllowed(false);
+            layoutSelector.setImmediate(true);
+            layoutSelector.select(VerticalLayout.class);
+            layoutSelector.addListener(new Property.ValueChangeListener() {
+                private static final long serialVersionUID = -605319614765838359L;
+
+                @Override
+                public void valueChange(ValueChangeEvent event) {
+                    layoutIndex = -1;
+                    nextLaytout();
+                }
+            });
+        }
+        return layoutSelector;
+    }
+
+    @Override
+    protected String getDescription() {
+        return "Test application for VerticalLayout, HorizontalLayout, and GridLayout";
+    }
+
+    @Override
+    protected Integer getTicketNumber() {
+        return 5334;
+    }
 
 }
index 8677130117f712fa05ef9a5caa54d9c5fb339ad7..6f5fb9568b864c61901161618ec406bdef9fa547 100644 (file)
@@ -25,535 +25,552 @@ import com.vaadin.ui.Button.ClickEvent;
 \r
 public class VerticalLayoutTests extends AbstractLayoutTests {\r
 \r
-       private Application application;\r
-\r
-       public VerticalLayoutTests(Application application) {\r
-               super();\r
-               this.application = application;\r
-       }\r
-\r
-       \r
-       \r
-       @Override\r
-       protected Layout getAlignmentTests() {\r
-               VerticalLayout vlo = getTestLaytout();\r
-               AbstractComponent[] components = new AbstractComponent[9];\r
-               Alignment[] alignments = new Alignment[] { Alignment.BOTTOM_CENTER,\r
-                               Alignment.BOTTOM_LEFT, Alignment.BOTTOM_RIGHT,\r
-                               Alignment.MIDDLE_CENTER, Alignment.MIDDLE_LEFT,\r
-                               Alignment.MIDDLE_RIGHT, Alignment.TOP_CENTER,\r
-                               Alignment.TOP_LEFT, Alignment.TOP_RIGHT };\r
-\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new TextField();\r
-                       ((TextField) components[i]).setValue("FIELD " + i);\r
-                       vlo.addComponent(components[i]);\r
-                       vlo.setComponentAlignment(components[i], alignments[i]);\r
-                       vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               }\r
-               return vlo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getCaptionsTests() {\r
-               VerticalLayout vlo = getTestLaytout();\r
-               AbstractComponent component = null;\r
-\r
-               String[] captions = new String[] {\r
-                               "",\r
-                               "abcdefghijklmnopq",\r
-                               "abc def hij klm nop qrs tuv xyz qaz wsx edc rfv tgb yhn ujm mko nji bhu vgy cft cde"};\r
-\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i = 0; i < captions.length; i++) {\r
-                       component = new TextField();\r
-                       ((TextField) component).setValue("FIELD " + i);\r
-                       component.setCaption(captions[i]);\r
-                       vlo.addComponent(component);\r
-               }\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i = 0; i < captions.length; i++) {\r
-                       component = new Label();\r
-                       ((Label) component).setValue("Label " + i);\r
-                       component.setCaption(captions[i]);\r
-                       vlo.addComponent(component);\r
-               }\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i = 0; i < captions.length; i++) {\r
-                       component = new Select();\r
-                       component.setCaption(captions[i]);\r
-                       component.setIcon(new ClassResource("help.png", application));\r
-                       vlo.addComponent(component);\r
-               }\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i = 0; i < captions.length; i++) {\r
-                       component = getTestTabsheet();\r
-                       component.setCaption(captions[i]);\r
-                       component.setComponentError(new UserError("component error, user error"));\r
-                       vlo.addComponent(component);\r
-               }\r
-               return vlo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getComponentAddReplaceMoveTests() {\r
-               final VerticalLayout vlo = getTestLaytout();\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-\r
-               final HorizontalLayout source = new HorizontalLayout();\r
-               source.addComponent(new Label("OTHER LABEL 1"));\r
-               source.addComponent(new Label("OTHER LABEL 2"));\r
-\r
-               final AbstractComponent c1 = new Button("BUTTON");\r
-               final AbstractComponent c2 = new Label("<b>LABEL</b>", Label.CONTENT_XHTML);\r
-               final AbstractComponent c3 = new Table("TABLE");\r
-               c3.setHeight("100px");\r
-               c3.setWidth("100%");\r
-\r
-               final Button addButton = new Button("Test add");\r
-               final Button replaceButton = new Button("Test replace");\r
-               final Button moveButton = new Button("Test move");\r
-               final Button removeButton = new Button("Test remove");\r
-\r
-               replaceButton.setEnabled(false);\r
-               moveButton.setEnabled(false);\r
-               removeButton.setEnabled(false);\r
-\r
-               addButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.addComponent(new TextField());\r
-                               addButton.setEnabled(false);\r
-                               replaceButton.setEnabled(true);\r
-                       }\r
-               });\r
-               replaceButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.replaceComponent(c1, c3);\r
-                               replaceButton.setEnabled(false);\r
-                               moveButton.setEnabled(true);\r
-                       }\r
-               });\r
-               moveButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.moveComponentsFrom(source);\r
-                               moveButton.setEnabled(false);\r
-                               removeButton.setEnabled(true);\r
-                       }\r
-               });\r
-               removeButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.removeComponent(c1);\r
-                               vlo.removeComponent(c2);\r
-                               removeButton.setEnabled(false);\r
-                       }\r
-               });\r
-\r
-               vlo.addComponent(addButton);\r
-               vlo.addComponent(replaceButton);\r
-               vlo.addComponent(moveButton);\r
-               vlo.addComponent(removeButton);\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-\r
-               vlo.addComponent(c1);\r
-               vlo.addComponent(c2);\r
-               vlo.addComponent(c3);\r
-\r
-               return vlo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getComponentSizingTests() {\r
-               final VerticalLayout vlo = getTestLaytout();\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-\r
-               final AbstractComponent c = getTestTable();\r
-\r
-               final Button biggerButton = new Button("full size");\r
-               final Button smallerButton = new Button("200 px width");\r
-               final Button originalButton = new Button("undefined size and add");\r
-\r
-               vlo.addComponent(biggerButton);\r
-               vlo.addComponent(smallerButton);\r
-               vlo.addComponent(originalButton);\r
-               vlo.addComponent(c);\r
-\r
-               biggerButton.setEnabled(true);\r
-               smallerButton.setEnabled(false);\r
-               originalButton.setEnabled(false);\r
-\r
-               biggerButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               c.setSizeFull();\r
-                               biggerButton.setEnabled(false);\r
-                               smallerButton.setEnabled(true);\r
-                       }\r
-               });\r
-               smallerButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               c.setWidth("200px");\r
-                               smallerButton.setEnabled(false);\r
-                               originalButton.setEnabled(true);\r
-                       }\r
-               });\r
-               originalButton.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               originalButton.setEnabled(false);\r
-                               c.setSizeUndefined();\r
-                               ((Table) c)\r
-                                               .addItem(\r
-                                                               new Object[] { "VYVTCTC VYVYV ECECCE NIDSD SDMPOM" },\r
-                                                               3);\r
-                       }\r
-               });\r
-\r
-               return vlo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getLayoutSizingTests() {\r
-               final VerticalLayout vlo = getTestLaytout();\r
-               \r
-               vlo.setSpacing(false);\r
-               vlo.setMargin(false);\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               final AbstractComponent c1 = getTestTable();\r
-               c1.setSizeFull();\r
-               final AbstractComponent c2 = getTestTable();\r
-               c2.setSizeFull();\r
-\r
-               final Button button1 = new Button("Set fixed height 350px");\r
-               final Button button2 = new Button("Set undefined size and add component");\r
-               final Button button3 = new Button("Set fixed width and height 75%");\r
-               final Button button4 = new Button("Set size full");\r
-               \r
-               vlo.addComponent(button1);\r
-               vlo.addComponent(button2);\r
-               vlo.addComponent(button3);\r
-               vlo.addComponent(button4);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-               button4.setEnabled(false);\r
-\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               vlo.addComponent(c1);\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               vlo.addComponent(c2);\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               vlo.setExpandRatio(c1, 0.5f);\r
-               vlo.setExpandRatio(c2, 0.5f);\r
-               \r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setHeight("350px");\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setSizeUndefined();\r
-                               vlo.addComponent(new Label("--- NEW LABEL ---"));\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setWidth("75%");\r
-                               vlo.setHeight("75%");\r
-                               button3.setEnabled(false);\r
-                               button4.setEnabled(true);\r
-                       }\r
-               });\r
-               button4.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setSizeFull();\r
-                               button4.setEnabled(false);\r
-                       }\r
-               });\r
-\r
-               return vlo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getExpandRatiosTests() {\r
-               final VerticalLayout vlo = getTestLaytout();\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               final AbstractComponent c1 = getTestTable();\r
-               c1.setSizeFull();\r
-               final AbstractComponent c2 = getTestTable();\r
-               c2.setSizeFull();\r
-\r
-               final Button button1 = new Button("Expand to 1/undefined");\r
-               final Button button2 = new Button("Expand to 0.5/0.5");\r
-               final Button button3 = new Button("Expand to 0.75/0.25");\r
-\r
-               vlo.addComponent(button1);\r
-               vlo.addComponent(button2);\r
-               vlo.addComponent(button3);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-\r
-               vlo.addComponent(c1);\r
-               vlo.addComponent(c2);\r
-\r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setExpandRatio(c1, 1.0f);\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setExpandRatio(c1, 0.5f);\r
-                               vlo.setExpandRatio(c2, 0.5f);\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setExpandRatio(c1, 0.75f);\r
-                               vlo.setExpandRatio(c2, 0.25f);\r
-                               button3.setEnabled(false);\r
-                       }\r
-               });\r
-               return vlo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getIconsTests() {\r
-               VerticalLayout vlo = getTestLaytout();\r
-               AbstractComponent[] components = new AbstractComponent[2];\r
-\r
-               Resource[] icons = new Resource[] {\r
-                               new ClassResource("alert.png", application),\r
-                               new ClassResource("help.png", application) };\r
-\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new TextField();\r
-                       ((TextField) components[i]).setValue("FIELD " + i);\r
-                       components[i].setIcon(icons[i]);\r
-                       components[i].setCaption("long test caption bewucbwuebco or bmort b cbwecubw wbeucwe asdasd asdasda asdasd");\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new Label();\r
-                       ((Label) components[i]).setValue("Label " + i);\r
-                       components[i].setIcon(icons[i]);\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new Select();\r
-                       components[i].setIcon(icons[i]);\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new Button();\r
-                       components[i].setComponentError(new UserError("component error, user error"));\r
-                       components[i].setIcon(icons[i]);\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i = 0; i < components.length; i++) {\r
-                       components[i] = new Link("Link",null);\r
-                       components[i].setIcon(icons[i]);\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               return vlo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getMarginSpacingTests() {\r
-               final VerticalLayout vlo = getTestLaytout();\r
-               vlo.setSpacing(false);\r
-               vlo.setMargin(false);\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               final AbstractComponent c1 = getTestTable();\r
-               c1.setSizeFull();\r
-               final AbstractComponent c2 = getTestTable();\r
-               c2.setSizeFull();\r
-\r
-               final Button button1 = new Button("Set margin on");\r
-               final Button button2 = new Button("Set spacing on");\r
-               final Button button3 = new Button("Set margin off");\r
-               final Button button4 = new Button("Set spacing off");\r
-               \r
-               vlo.addComponent(button1);\r
-               vlo.addComponent(button2);\r
-               vlo.addComponent(button3);\r
-               vlo.addComponent(button4);\r
-               button1.setEnabled(true);\r
-               button2.setEnabled(false);\r
-               button3.setEnabled(false);\r
-               button4.setEnabled(false);\r
-\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               vlo.addComponent(c1);\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               vlo.addComponent(c2);\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               vlo.setExpandRatio(c1, 0.5f);\r
-               vlo.setExpandRatio(c2, 0.5f);\r
-               \r
-               button1.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setMargin(true);\r
-                               button1.setEnabled(false);\r
-                               button2.setEnabled(true);\r
-                       }\r
-               });\r
-               button2.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setSpacing(true);\r
-                               button2.setEnabled(false);\r
-                               button3.setEnabled(true);\r
-                       }\r
-               });\r
-               button3.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setMargin(false);\r
-                               button3.setEnabled(false);\r
-                               button4.setEnabled(true);\r
-                       }\r
-               });\r
-               button4.addListener(new Button.ClickListener() {\r
-                       private static final long serialVersionUID = 7716267156088629379L;\r
-                       @Override\r
-                       public void buttonClick(ClickEvent event) {\r
-                               vlo.setSpacing(false);\r
-                               button4.setEnabled(false);\r
-                       }\r
-               });\r
-               \r
-               return vlo;\r
-       }\r
-\r
-       @Override\r
-       protected Layout getRequiredErrorIndicatorsTests() {\r
-               VerticalLayout vlo = getTestLaytout();\r
-               AbstractComponent[] components= new AbstractComponent[4];\r
-               components[0] = new Label("LABEL");\r
-               components[0].setSizeUndefined();\r
-               components[1] = new Button("BUTTON");\r
-               components[2] = getTestTable();\r
-               components[3] = getTestTabsheet();\r
-               components[3].setIcon(new ClassResource("help.png", application));\r
-               \r
-               AbstractField[] fields= new AbstractField[6];\r
-               fields[0] = new TextField();\r
-               fields[0].setRequired(true);\r
-               fields[0].setValidationVisible(true);\r
-               fields[0].setRequiredError("required error");\r
-               \r
-               fields[1] = new TextField();\r
-               fields[1].setValue("TEXTFIELD2");\r
-               fields[1].setComponentError(new UserError("component error, user error"));\r
-               \r
-               fields[2] = new Select();\r
-               fields[2].setComponentError(new SystemError("component error, system error"));\r
-               fields[3] = new DateField();\r
-               fields[3].setComponentError(new SystemError("component error, system error"));\r
-               \r
-               fields[4] = new CheckBox();\r
-               fields[4].setComponentError(new UserError("component error, user error"));\r
-               \r
-               fields[5] = new NativeSelect();\r
-               fields[5].setRequired(true);\r
-               fields[5].setValidationVisible(true);\r
-               fields[5].setRequiredError("required error");\r
-               fields[5].setComponentError(new UserError("component error, user error"));\r
-               fields[5].setIcon(new ClassResource("alert.png", application));\r
-               \r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i=0; i<components.length; i++) {\r
-                       components[i].setComponentError(new UserError("component error, user error"));\r
-                       vlo.addComponent(components[i]);\r
-               }\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               for (int i=0; i<fields.length; i++) {\r
-                       vlo.addComponent(fields[i]);\r
-               }\r
-               vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
-               \r
-               return vlo;\r
-       }\r
-\r
-       private VerticalLayout getTestLaytout() {\r
-               VerticalLayout vlo = new VerticalLayout();\r
-               vlo.setHeight("600px");\r
-               vlo.setWidth("400px");\r
-               return vlo;\r
-       }\r
-       \r
-       \r
-       private AbstractComponent getTestTabsheet() {\r
-               TabSheet tabsheet = new TabSheet();\r
-               tabsheet.setSizeUndefined();\r
-               tabsheet.addTab(new Label("TAB1"), "TAB1", new ClassResource("alert.png", application));\r
-               tabsheet.addTab(new Label("TAB2"), "TAB2", null);\r
-               return tabsheet;\r
-       }\r
-\r
-       private Table getTestTable() {\r
-               Table t = new Table();\r
-               t.setSizeUndefined();\r
-               t.setPageLength(5);\r
-               t.addContainerProperty("test", String.class, null);\r
-               t.addItem(new Object[] { "qwertyuiop asdfghjklöä zxccvbnm,m,." }, 1);\r
-               t.addItem(new Object[] { "YGVYTCTCTRXRXRXRX" }, 2);\r
-               return t;\r
-       }\r
+    private Application application;\r
+\r
+    public VerticalLayoutTests(Application application) {\r
+        super();\r
+        this.application = application;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getAlignmentTests() {\r
+        VerticalLayout vlo = getTestLaytout();\r
+        AbstractComponent[] components = new AbstractComponent[9];\r
+        Alignment[] alignments = new Alignment[] { Alignment.BOTTOM_CENTER,\r
+                Alignment.BOTTOM_LEFT, Alignment.BOTTOM_RIGHT,\r
+                Alignment.MIDDLE_CENTER, Alignment.MIDDLE_LEFT,\r
+                Alignment.MIDDLE_RIGHT, Alignment.TOP_CENTER,\r
+                Alignment.TOP_LEFT, Alignment.TOP_RIGHT };\r
+\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new TextField();\r
+            ((TextField) components[i]).setValue("FIELD " + i);\r
+            vlo.addComponent(components[i]);\r
+            vlo.setComponentAlignment(components[i], alignments[i]);\r
+            vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        }\r
+        return vlo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getCaptionsTests() {\r
+        VerticalLayout vlo = getTestLaytout();\r
+        AbstractComponent component = null;\r
+\r
+        String[] captions = new String[] {\r
+                "",\r
+                "abcdefghijklmnopq",\r
+                "abc def hij klm nop qrs tuv xyz qaz wsx edc rfv tgb yhn ujm mko nji bhu vgy cft cde" };\r
+\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < captions.length; i++) {\r
+            component = new TextField();\r
+            ((TextField) component).setValue("FIELD " + i);\r
+            component.setCaption(captions[i]);\r
+            vlo.addComponent(component);\r
+        }\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < captions.length; i++) {\r
+            component = new Label();\r
+            ((Label) component).setValue("Label " + i);\r
+            component.setCaption(captions[i]);\r
+            vlo.addComponent(component);\r
+        }\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < captions.length; i++) {\r
+            component = new Select();\r
+            component.setCaption(captions[i]);\r
+            component.setIcon(new ClassResource("help.png", application));\r
+            vlo.addComponent(component);\r
+        }\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < captions.length; i++) {\r
+            component = getTestTabsheet();\r
+            component.setCaption(captions[i]);\r
+            component.setComponentError(new UserError(\r
+                    "component error, user error"));\r
+            vlo.addComponent(component);\r
+        }\r
+        return vlo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getComponentAddReplaceMoveTests() {\r
+        final VerticalLayout vlo = getTestLaytout();\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+\r
+        final HorizontalLayout source = new HorizontalLayout();\r
+        source.addComponent(new Label("OTHER LABEL 1"));\r
+        source.addComponent(new Label("OTHER LABEL 2"));\r
+\r
+        final AbstractComponent c1 = new Button("BUTTON");\r
+        final AbstractComponent c2 = new Label("<b>LABEL</b>",\r
+                Label.CONTENT_XHTML);\r
+        final AbstractComponent c3 = new Table("TABLE");\r
+        c3.setHeight("100px");\r
+        c3.setWidth("100%");\r
+\r
+        final Button addButton = new Button("Test add");\r
+        final Button replaceButton = new Button("Test replace");\r
+        final Button moveButton = new Button("Test move");\r
+        final Button removeButton = new Button("Test remove");\r
+\r
+        replaceButton.setEnabled(false);\r
+        moveButton.setEnabled(false);\r
+        removeButton.setEnabled(false);\r
+\r
+        addButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.addComponent(new TextField());\r
+                addButton.setEnabled(false);\r
+                replaceButton.setEnabled(true);\r
+            }\r
+        });\r
+        replaceButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.replaceComponent(c1, c3);\r
+                replaceButton.setEnabled(false);\r
+                moveButton.setEnabled(true);\r
+            }\r
+        });\r
+        moveButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.moveComponentsFrom(source);\r
+                moveButton.setEnabled(false);\r
+                removeButton.setEnabled(true);\r
+            }\r
+        });\r
+        removeButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.removeComponent(c1);\r
+                vlo.removeComponent(c2);\r
+                removeButton.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        vlo.addComponent(addButton);\r
+        vlo.addComponent(replaceButton);\r
+        vlo.addComponent(moveButton);\r
+        vlo.addComponent(removeButton);\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+\r
+        vlo.addComponent(c1);\r
+        vlo.addComponent(c2);\r
+        vlo.addComponent(c3);\r
+\r
+        return vlo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getComponentSizingTests() {\r
+        final VerticalLayout vlo = getTestLaytout();\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+\r
+        final AbstractComponent c = getTestTable();\r
+\r
+        final Button biggerButton = new Button("full size");\r
+        final Button smallerButton = new Button("200 px width");\r
+        final Button originalButton = new Button("undefined size and add");\r
+\r
+        vlo.addComponent(biggerButton);\r
+        vlo.addComponent(smallerButton);\r
+        vlo.addComponent(originalButton);\r
+        vlo.addComponent(c);\r
+\r
+        biggerButton.setEnabled(true);\r
+        smallerButton.setEnabled(false);\r
+        originalButton.setEnabled(false);\r
+\r
+        biggerButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                c.setSizeFull();\r
+                biggerButton.setEnabled(false);\r
+                smallerButton.setEnabled(true);\r
+            }\r
+        });\r
+        smallerButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                c.setWidth("200px");\r
+                smallerButton.setEnabled(false);\r
+                originalButton.setEnabled(true);\r
+            }\r
+        });\r
+        originalButton.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                originalButton.setEnabled(false);\r
+                c.setSizeUndefined();\r
+                ((Table) c)\r
+                        .addItem(\r
+                                new Object[] { "VYVTCTC VYVYV ECECCE NIDSD SDMPOM" },\r
+                                3);\r
+            }\r
+        });\r
+\r
+        return vlo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getLayoutSizingTests() {\r
+        final VerticalLayout vlo = getTestLaytout();\r
+\r
+        vlo.setSpacing(false);\r
+        vlo.setMargin(false);\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        final AbstractComponent c1 = getTestTable();\r
+        c1.setSizeFull();\r
+        final AbstractComponent c2 = getTestTable();\r
+        c2.setSizeFull();\r
+\r
+        final Button button1 = new Button("Set fixed height 350px");\r
+        final Button button2 = new Button(\r
+                "Set undefined size and add component");\r
+        final Button button3 = new Button("Set fixed width and height 75%");\r
+        final Button button4 = new Button("Set size full");\r
+\r
+        vlo.addComponent(button1);\r
+        vlo.addComponent(button2);\r
+        vlo.addComponent(button3);\r
+        vlo.addComponent(button4);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+        button4.setEnabled(false);\r
+\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        vlo.addComponent(c1);\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        vlo.addComponent(c2);\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        vlo.setExpandRatio(c1, 0.5f);\r
+        vlo.setExpandRatio(c2, 0.5f);\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setHeight("350px");\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setSizeUndefined();\r
+                vlo.addComponent(new Label("--- NEW LABEL ---"));\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setWidth("75%");\r
+                vlo.setHeight("75%");\r
+                button3.setEnabled(false);\r
+                button4.setEnabled(true);\r
+            }\r
+        });\r
+        button4.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setSizeFull();\r
+                button4.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        return vlo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getExpandRatiosTests() {\r
+        final VerticalLayout vlo = getTestLaytout();\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        final AbstractComponent c1 = getTestTable();\r
+        c1.setSizeFull();\r
+        final AbstractComponent c2 = getTestTable();\r
+        c2.setSizeFull();\r
+\r
+        final Button button1 = new Button("Expand to 1/undefined");\r
+        final Button button2 = new Button("Expand to 0.5/0.5");\r
+        final Button button3 = new Button("Expand to 0.75/0.25");\r
+\r
+        vlo.addComponent(button1);\r
+        vlo.addComponent(button2);\r
+        vlo.addComponent(button3);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+\r
+        vlo.addComponent(c1);\r
+        vlo.addComponent(c2);\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setExpandRatio(c1, 1.0f);\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setExpandRatio(c1, 0.5f);\r
+                vlo.setExpandRatio(c2, 0.5f);\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setExpandRatio(c1, 0.75f);\r
+                vlo.setExpandRatio(c2, 0.25f);\r
+                button3.setEnabled(false);\r
+            }\r
+        });\r
+        return vlo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getIconsTests() {\r
+        VerticalLayout vlo = getTestLaytout();\r
+        AbstractComponent[] components = new AbstractComponent[2];\r
+\r
+        Resource[] icons = new Resource[] {\r
+                new ClassResource("alert.png", application),\r
+                new ClassResource("help.png", application) };\r
+\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new TextField();\r
+            ((TextField) components[i]).setValue("FIELD " + i);\r
+            components[i].setIcon(icons[i]);\r
+            components[i]\r
+                    .setCaption("long test caption bewucbwuebco or bmort b cbwecubw wbeucwe asdasd asdasda asdasd");\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new Label();\r
+            ((Label) components[i]).setValue("Label " + i);\r
+            components[i].setIcon(icons[i]);\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new Select();\r
+            components[i].setIcon(icons[i]);\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new Button();\r
+            components[i].setComponentError(new UserError(\r
+                    "component error, user error"));\r
+            components[i].setIcon(icons[i]);\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i] = new Link("Link", null);\r
+            components[i].setIcon(icons[i]);\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        return vlo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getMarginSpacingTests() {\r
+        final VerticalLayout vlo = getTestLaytout();\r
+        vlo.setSpacing(false);\r
+        vlo.setMargin(false);\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        final AbstractComponent c1 = getTestTable();\r
+        c1.setSizeFull();\r
+        final AbstractComponent c2 = getTestTable();\r
+        c2.setSizeFull();\r
+\r
+        final Button button1 = new Button("Set margin on");\r
+        final Button button2 = new Button("Set spacing on");\r
+        final Button button3 = new Button("Set margin off");\r
+        final Button button4 = new Button("Set spacing off");\r
+\r
+        vlo.addComponent(button1);\r
+        vlo.addComponent(button2);\r
+        vlo.addComponent(button3);\r
+        vlo.addComponent(button4);\r
+        button1.setEnabled(true);\r
+        button2.setEnabled(false);\r
+        button3.setEnabled(false);\r
+        button4.setEnabled(false);\r
+\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        vlo.addComponent(c1);\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        vlo.addComponent(c2);\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        vlo.setExpandRatio(c1, 0.5f);\r
+        vlo.setExpandRatio(c2, 0.5f);\r
+\r
+        button1.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setMargin(true);\r
+                button1.setEnabled(false);\r
+                button2.setEnabled(true);\r
+            }\r
+        });\r
+        button2.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setSpacing(true);\r
+                button2.setEnabled(false);\r
+                button3.setEnabled(true);\r
+            }\r
+        });\r
+        button3.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setMargin(false);\r
+                button3.setEnabled(false);\r
+                button4.setEnabled(true);\r
+            }\r
+        });\r
+        button4.addListener(new Button.ClickListener() {\r
+            private static final long serialVersionUID = 7716267156088629379L;\r
+\r
+            @Override\r
+            public void buttonClick(ClickEvent event) {\r
+                vlo.setSpacing(false);\r
+                button4.setEnabled(false);\r
+            }\r
+        });\r
+\r
+        return vlo;\r
+    }\r
+\r
+    @Override\r
+    protected Layout getRequiredErrorIndicatorsTests() {\r
+        VerticalLayout vlo = getTestLaytout();\r
+        AbstractComponent[] components = new AbstractComponent[4];\r
+        components[0] = new Label("LABEL");\r
+        components[0].setSizeUndefined();\r
+        components[1] = new Button("BUTTON");\r
+        components[2] = getTestTable();\r
+        components[3] = getTestTabsheet();\r
+        components[3].setIcon(new ClassResource("help.png", application));\r
+\r
+        AbstractField[] fields = new AbstractField[6];\r
+        fields[0] = new TextField();\r
+        fields[0].setRequired(true);\r
+        fields[0].setValidationVisible(true);\r
+        fields[0].setRequiredError("required error");\r
+\r
+        fields[1] = new TextField();\r
+        fields[1].setValue("TEXTFIELD2");\r
+        fields[1]\r
+                .setComponentError(new UserError("component error, user error"));\r
+\r
+        fields[2] = new Select();\r
+        fields[2].setComponentError(new SystemError(\r
+                "component error, system error"));\r
+        fields[3] = new DateField();\r
+        fields[3].setComponentError(new SystemError(\r
+                "component error, system error"));\r
+\r
+        fields[4] = new CheckBox();\r
+        fields[4]\r
+                .setComponentError(new UserError("component error, user error"));\r
+\r
+        fields[5] = new NativeSelect();\r
+        fields[5].setRequired(true);\r
+        fields[5].setValidationVisible(true);\r
+        fields[5].setRequiredError("required error");\r
+        fields[5]\r
+                .setComponentError(new UserError("component error, user error"));\r
+        fields[5].setIcon(new ClassResource("alert.png", application));\r
+\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < components.length; i++) {\r
+            components[i].setComponentError(new UserError(\r
+                    "component error, user error"));\r
+            vlo.addComponent(components[i]);\r
+        }\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+        for (int i = 0; i < fields.length; i++) {\r
+            vlo.addComponent(fields[i]);\r
+        }\r
+        vlo.addComponent(new Label("<hr />", Label.CONTENT_XHTML));\r
+\r
+        return vlo;\r
+    }\r
+\r
+    private VerticalLayout getTestLaytout() {\r
+        VerticalLayout vlo = new VerticalLayout();\r
+        vlo.setHeight("600px");\r
+        vlo.setWidth("400px");\r
+        return vlo;\r
+    }\r
+\r
+    private AbstractComponent getTestTabsheet() {\r
+        TabSheet tabsheet = new TabSheet();\r
+        tabsheet.setSizeUndefined();\r
+        tabsheet.addTab(new Label("TAB1"), "TAB1", new ClassResource(\r
+                "alert.png", application));\r
+        tabsheet.addTab(new Label("TAB2"), "TAB2", null);\r
+        return tabsheet;\r
+    }\r
+\r
+    private Table getTestTable() {\r
+        Table t = new Table();\r
+        t.setSizeUndefined();\r
+        t.setPageLength(5);\r
+        t.addContainerProperty("test", String.class, null);\r
+        t.addItem(new Object[] { "qwertyuiop asdfghjklöä zxccvbnm,m,." }, 1);\r
+        t.addItem(new Object[] { "YGVYTCTCTRXRXRXRX" }, 2);\r
+        return t;\r
+    }\r
 }\r