diff options
author | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
commit | 7b25b3886ea95bc6495506fbe9472e45fcbde684 (patch) | |
tree | 0b93cb65dab437feb46720659a63b8f1ef48f7f4 /uitest/src/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java | |
parent | 8941056349e302e687e40e94c13709e75f256d73 (diff) | |
download | vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.tar.gz vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.zip |
Renamed tests -> uitest and tests/testbench -> uitest/src (#9299)
Diffstat (limited to 'uitest/src/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java b/uitest/src/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java new file mode 100644 index 0000000000..ac69cbd096 --- /dev/null +++ b/uitest/src/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java @@ -0,0 +1,176 @@ +/* + * Copyright 2011 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.vaadin.tests; + +import java.util.Iterator; +import java.util.Vector; + +import com.vaadin.server.UserError; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.CustomComponent; +import com.vaadin.ui.Label; +import com.vaadin.ui.Layout; +import com.vaadin.ui.Table; +import com.vaadin.ui.VerticalLayout; + +/** + * + * This Component contains some simple test to see that component updates its + * contents propertly. + * + * @author Vaadin Ltd. + */ +public class TestForTablesInitialColumnWidthLogicRendering extends + CustomComponent { + + private final VerticalLayout main = new VerticalLayout(); + + public TestForTablesInitialColumnWidthLogicRendering() { + + setCompositionRoot(main); + createNewView(); + } + + public void createNewView() { + main.removeAllComponents(); + main.addComponent(new Label( + "Below are same tables that all should render somewhat nice. Also when testing, you might want to try resizing window.")); + + Table t; + + Layout lo = new VerticalLayout(); + lo.setWidth("600px"); + lo.setHeight("250px"); + + t = getTestTable(4, 50); + t.setSizeFull(); + lo.setCaption("Fullsize table insize 400x250px layout"); + lo.addComponent(t); + main.addComponent(lo); + + // t = new Table("Empty table"); + // main.addComponent(t); + + t = getTestTable(5, 0); + t.setCaption("Table with only headers"); + // main.addComponent(t); + + t = getTestTable(5, 200); + t.setCaption("Table with some cols and lot of rows"); + main.addComponent(t); + + t = getTestTable(5, 5); + t.setCaption("Table with some cols and rows rows, some col widths fixed"); + + Iterator<?> it = t.getContainerPropertyIds().iterator(); + it.next(); + it.next(); + t.setColumnWidth(it.next(), 30); + t.setColumnWidth(it.next(), 30); + t.setWidth("700px"); + main.addComponent(t); + + t = getTestTable(12, 4); + t.setCaption("Table with some rows and lot of columns"); + main.addComponent(t); + + t = getTestTable(3, 40); + t.setCaption("Table with some columns and wide explicit width. (Ought to widen columns to use all space)"); + t.setWidth("1000px"); + main.addComponent(t); + + t = getTestTable(12, 4); + t.setCaption("Table with some rows and lot of columns, width == 100%"); + t.setWidth(100, Table.UNITS_PERCENTAGE); + main.addComponent(t); + + t = getTestTable(12, 100); + t.setCaption("Table with lot of rows and lot of columns, width == 50%"); + t.setWidth(50, Table.UNITS_PERCENTAGE); + main.addComponent(t); + + t = getTestTable(5, 100); + t.setCaption("Table with 40 rows"); + // main.addComponent(t); + + t = getTestTable(4, 4); + t.setCaption("Table with some rows and width = 200px"); + + t.setWidth("200px"); + main.addComponent(t); + + final Button b = new Button("refresh view", new Button.ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + createNewView(); + } + }); + main.addComponent(b); + + } + + public static Table getTestTable(int cols, int rows) { + final Table t = new Table(); + t.setColumnCollapsingAllowed(true); + for (int i = 0; i < cols; i++) { + t.addContainerProperty(testString[i], String.class, ""); + } + t.addContainerProperty("button", Button.class, null); + for (int i = 0; i < rows; i++) { + final Vector<Object> content = new Vector<Object>(); + for (int j = 0; j < cols; j++) { + content.add(rndString()); + } + Button button = new Button("b", new Button.ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + System.out.println("b click"); + + } + }); + button.setDescription("Yep yep"); + button.setComponentError(new UserError("Error")); + content.add(button); + t.addItem(content.toArray(), "" + i); + } + return t; + } + + static String[] testString = new String[] { "Jacob", "Michael", "Joshua", + "Matthew", "Ethan", "Andrew", "Daniel", "Anthony", "Christopher", + "Joseph", "William", "Alexander", "Ryan", "David", "Nicholas", + "Tyler", "James", "John", "Jonathan", "Nathan", "Samuel", + "Christian", "Noah", "Dylan", "Benjamin", "Logan", "Brandon", + "Gabriel", "Zachary", "Jose", "Elijah", "Angel", "Kevin", "Jack", + "Caleb", "Justin", "Austin", "Evan", "Robert", "Thomas", "Luke", + "Mason", "Aidan", "Jackson", "Isaiah", "Jordan", "Gavin", "Connor", + "Aiden", "Isaac", "Jason", "Cameron", "Hunter", "Jayden", "Juan", + "Charles", "Aaron", "Lucas", "Luis", "Owen", "Landon", "Diego", + "Brian", "Adam", "Adrian", "Kyle", "Eric", "Ian", "Nathaniel", + "Carlos", "Alex", "Bryan", "Jesus", "Julian", "Sean", "Carter", + "Hayden", "Jeremiah", "Cole", "Brayden", "Wyatt", "Chase", + "Steven", "Timothy", "Dominic", "Sebastian", "Xavier", "Jaden", + "Jesse", "Devin", "Seth", "Antonio", "Richard", "Miguel", "Colin", + "Cody", "Alejandro", "Caden", "Blake", "Carson" }; + + public static String rndString() { + return testString[(int) (Math.random() * testString.length)]; + } + +} |