diff options
author | Teemu Suo-Anttila <teemusa@vaadin.com> | 2015-02-26 11:29:02 +0200 |
---|---|---|
committer | Leif Åstrand <leif@vaadin.com> | 2015-03-03 11:19:15 +0000 |
commit | 91564dfe760d593fdd55aa4f820d6f2fdc181065 (patch) | |
tree | 316d40da3f9adc0856373a4c921f960067fb1ca3 /uitest/src/com | |
parent | f79b9788842cefc50a58aafd476eaa7b817c92f1 (diff) | |
download | vaadin-framework-91564dfe760d593fdd55aa4f820d6f2fdc181065.tar.gz vaadin-framework-91564dfe760d593fdd55aa4f820d6f2fdc181065.zip |
Make Grid recalculate columns on resize (#16539)
Change-Id: Ib2b9ecc995ec6fe2627c545efc2a312a59df6b9c
Diffstat (limited to 'uitest/src/com')
-rw-r--r-- | uitest/src/com/vaadin/tests/components/grid/GridWidthIncrease.java | 48 | ||||
-rw-r--r-- | uitest/src/com/vaadin/tests/components/grid/GridWidthIncreaseTest.java | 56 |
2 files changed, 104 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/grid/GridWidthIncrease.java b/uitest/src/com/vaadin/tests/components/grid/GridWidthIncrease.java new file mode 100644 index 0000000000..6726400327 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/grid/GridWidthIncrease.java @@ -0,0 +1,48 @@ +/* + * Copyright 2000-2014 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.components.grid; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Grid; + +public class GridWidthIncrease extends AbstractTestUI { + + public static int COLUMN_COUNT = 5; + + @Override + protected void setup(VaadinRequest request) { + final Grid grid = new Grid(); + Object[] rowData = new String[COLUMN_COUNT]; + for (int i = 0; i < COLUMN_COUNT; ++i) { + grid.addColumn("Column " + i, String.class); + rowData[i] = "Foo (0, " + i + ")"; + } + grid.addRow(rowData); + grid.setWidth(400 + "px"); + addComponent(grid); + addComponent(new Button("Increase Grid Width", + new Button.ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + grid.setWidth((grid.getWidth() + 50) + "px"); + } + })); + } +} diff --git a/uitest/src/com/vaadin/tests/components/grid/GridWidthIncreaseTest.java b/uitest/src/com/vaadin/tests/components/grid/GridWidthIncreaseTest.java new file mode 100644 index 0000000000..bf9110b01d --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/grid/GridWidthIncreaseTest.java @@ -0,0 +1,56 @@ +/* + * Copyright 2000-2014 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.components.grid; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.GridElement; +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class GridWidthIncreaseTest extends MultiBrowserTest { + + private static int INCREASE_COUNT = 3; + + @Test + public void testColumnsExpandWithGrid() { + openTestURL(); + + GridElement grid = $(GridElement.class).first(); + + int[] widths = new int[GridWidthIncrease.COLUMN_COUNT]; + for (int i = 0; i < INCREASE_COUNT; ++i) { + int totalWidth = 0; + $(ButtonElement.class).first().click(); + for (int c = 0; c < GridWidthIncrease.COLUMN_COUNT; ++c) { + int width = grid.getCell(0, c).getSize().getWidth(); + totalWidth += width; + widths[c] = width; + if (c > 0) { + // check that columns are roughly the same width. + assertEquals("Difference in column widths", widths[c], + widths[c - 1], 1.0d); + } + } + // Column widths should be the same as table wrapper size + assertTrue(totalWidth == grid.getTableWrapper().getSize() + .getWidth()); + } + } +} |