diff options
Diffstat (limited to 'uitest/src')
2 files changed, 75 insertions, 0 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/grid/CompatibilityGridToggleMultiSelectSort.java b/uitest/src/main/java/com/vaadin/tests/components/grid/CompatibilityGridToggleMultiSelectSort.java new file mode 100644 index 0000000000..f62276de2c --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/grid/CompatibilityGridToggleMultiSelectSort.java @@ -0,0 +1,35 @@ +package com.vaadin.tests.components.grid; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.tests.minitutorials.v7_4.GridExampleHelper; +import com.vaadin.ui.Button; +import com.vaadin.v7.ui.Grid; +import com.vaadin.v7.ui.Grid.MultiSelectionModel; +import com.vaadin.v7.ui.Grid.SelectionMode; + +public class CompatibilityGridToggleMultiSelectSort extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + // container with at least 100 rows + final Grid grid = new Grid(GridExampleHelper.createContainer()); + grid.setSelectionMode(SelectionMode.MULTI); + addComponent(grid); + + Button button = new Button("Toggle multi-select", e -> { + if (grid.getSelectionModel() instanceof MultiSelectionModel) { + grid.setSelectionMode(SelectionMode.SINGLE); + } else { + grid.setSelectionMode(SelectionMode.MULTI); + } + }); + addComponent(button); + } + + @Override + protected String getTestDescription() { + return "Toggling multi-select off should not break sorting " + + "first column to both directions."; + } +} diff --git a/uitest/src/test/java/com/vaadin/tests/components/grid/CompatibilityGridToggleMultiSelectSortTest.java b/uitest/src/test/java/com/vaadin/tests/components/grid/CompatibilityGridToggleMultiSelectSortTest.java new file mode 100644 index 0000000000..e95c3d0792 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/grid/CompatibilityGridToggleMultiSelectSortTest.java @@ -0,0 +1,40 @@ +package com.vaadin.tests.components.grid; + +import static org.junit.Assert.assertEquals; + +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.tests.tb3.SingleBrowserTest; + +public class CompatibilityGridToggleMultiSelectSortTest + extends SingleBrowserTest { + + @Test + public void sortFirstColumnAfterToggle() { + openTestURL(); + + GridElement grid = $(GridElement.class).first(); + ButtonElement button = $(ButtonElement.class).first(); + + button.click(); + + assertEquals("Unexpected initial sorting.", "0", + grid.getCell(0, 0).getText()); + + GridCellElement headerCell = grid.getHeaderCell(0, 0); + + // sort ascending + headerCell.click(); + assertEquals("Unexpected first sorting.", "0", + grid.getCell(0, 0).getText()); + + // sort descending + headerCell.click(); + assertEquals("Unexpected second sorting.", "99.9", + grid.getCell(0, 0).getText()); + } + +} |