aboutsummaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2015-03-20 16:51:45 +0200
committerLeif Åstrand <leif@vaadin.com>2015-03-20 16:51:45 +0200
commit7fa43952ca1b1e26afe79f5c0a75f9e735431be0 (patch)
tree7464dac0d98c1127bef647d12f1237e77b87bc30 /uitest
parent04272699b8f429a2bc3b8f0a41e20a604213895e (diff)
downloadvaadin-framework-7fa43952ca1b1e26afe79f5c0a75f9e735431be0.tar.gz
vaadin-framework-7fa43952ca1b1e26afe79f5c0a75f9e735431be0.zip
Use special logic for allocating selection col widths (#17091)
Change-Id: I2d0a80a26e8211d6f5e9110e1476f857803b4d3f
Diffstat (limited to 'uitest')
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/GridColumnWidthsWithoutData.java21
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/GridColumnWidthsWithoutDataTest.java34
2 files changed, 54 insertions, 1 deletions
diff --git a/uitest/src/com/vaadin/tests/components/grid/GridColumnWidthsWithoutData.java b/uitest/src/com/vaadin/tests/components/grid/GridColumnWidthsWithoutData.java
index 1dfc7bcf11..b04745f17a 100644
--- a/uitest/src/com/vaadin/tests/components/grid/GridColumnWidthsWithoutData.java
+++ b/uitest/src/com/vaadin/tests/components/grid/GridColumnWidthsWithoutData.java
@@ -15,21 +15,41 @@
*/
package com.vaadin.tests.components.grid;
+import java.util.EnumSet;
+
+import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.data.Property.ValueChangeListener;
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;
+import com.vaadin.ui.Grid.SelectionMode;
+import com.vaadin.ui.NativeSelect;
import com.vaadin.ui.VerticalLayout;
public class GridColumnWidthsWithoutData extends AbstractTestUI {
+ private SelectionMode selectionMode = SelectionMode.NONE;
private Grid grid = createGrid(true);
@Override
protected void setup(VaadinRequest request) {
addComponent(grid);
+ NativeSelect selectionModeSelector = new NativeSelect("Selection mode",
+ EnumSet.allOf(SelectionMode.class));
+ selectionModeSelector.setValue(selectionMode);
+ selectionModeSelector.setNullSelectionAllowed(false);
+ selectionModeSelector.addValueChangeListener(new ValueChangeListener() {
+ @Override
+ public void valueChange(ValueChangeEvent event) {
+ selectionMode = (SelectionMode) event.getProperty().getValue();
+ grid.setSelectionMode(selectionMode);
+ }
+ });
+ addComponent(selectionModeSelector);
+
addComponent(new Button("Recreate without data",
new Button.ClickListener() {
@Override
@@ -72,6 +92,7 @@ public class GridColumnWidthsWithoutData extends AbstractTestUI {
grid.addColumn("foo");
grid.addColumn("bar");
grid.setWidth("300px");
+ grid.setSelectionMode(selectionMode);
if (withData) {
addDataToGrid(grid);
diff --git a/uitest/src/com/vaadin/tests/components/grid/GridColumnWidthsWithoutDataTest.java b/uitest/src/com/vaadin/tests/components/grid/GridColumnWidthsWithoutDataTest.java
index dd63d6abc9..c215fa0a59 100644
--- a/uitest/src/com/vaadin/tests/components/grid/GridColumnWidthsWithoutDataTest.java
+++ b/uitest/src/com/vaadin/tests/components/grid/GridColumnWidthsWithoutDataTest.java
@@ -23,6 +23,7 @@ import org.junit.Test;
import com.vaadin.testbench.elements.ButtonElement;
import com.vaadin.testbench.elements.GridElement;
import com.vaadin.testbench.elements.GridElement.GridCellElement;
+import com.vaadin.testbench.elements.NativeSelectElement;
import com.vaadin.testbench.elements.NotificationElement;
import com.vaadin.tests.tb3.SingleBrowserTest;
@@ -49,7 +50,7 @@ public class GridColumnWidthsWithoutDataTest extends SingleBrowserTest {
}
@Test
- public void restWidthsWhenInitiallyEmpty() {
+ public void testWidthsWhenInitiallyEmpty() {
setDebug(true);
openTestURL();
$(ButtonElement.class).caption("Recreate without data").first().click();
@@ -74,6 +75,37 @@ public class GridColumnWidthsWithoutDataTest extends SingleBrowserTest {
isElementPresent(NotificationElement.class));
}
+ @Test
+ public void testMultiSelectWidths() {
+ setDebug(true);
+ openTestURL();
+ $(NativeSelectElement.class).caption("Selection mode").first()
+ .selectByText("Multi");
+
+ GridElement grid = $(GridElement.class).first();
+
+ int sum = sumUsedWidths(grid);
+
+ // 295 instead of 300 to avoid rounding issues
+ Assert.assertTrue("Only " + sum + " out of 300px was used", sum > 295);
+
+ $(ButtonElement.class).caption("Recreate without data").first().click();
+
+ grid = $(GridElement.class).first();
+ sum = sumUsedWidths(grid);
+
+ // 295 instead of 300 to avoid rounding issues
+ Assert.assertTrue("Only " + sum + " out of 300px was used", sum > 295);
+ }
+
+ private int sumUsedWidths(GridElement grid) {
+ int sum = 0;
+ for (int i : getColWidths(grid)) {
+ sum += i;
+ }
+ return sum;
+ }
+
private static void assertSameWidths(int[] expected, int[] actual) {
Assert.assertEquals("Arrays have differing lengths", expected.length,
actual.length);