summaryrefslogtreecommitdiffstats
path: root/uitest/src/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2012-08-30 17:24:36 +0300
committerArtur Signell <artur@vaadin.com>2012-08-30 17:24:36 +0300
commit7b25b3886ea95bc6495506fbe9472e45fcbde684 (patch)
tree0b93cb65dab437feb46720659a63b8f1ef48f7f4 /uitest/src/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java
parent8941056349e302e687e40e94c13709e75f256d73 (diff)
downloadvaadin-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.java176
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)];
+ }
+
+}