diff options
Diffstat (limited to 'uitest')
-rwxr-xr-x | uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorScrollSync.java | 35 | ||||
-rwxr-xr-x | uitest/src/test/java/com/vaadin/tests/components/grid/GridEditorScrollSyncTest.java | 35 |
2 files changed, 70 insertions, 0 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorScrollSync.java b/uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorScrollSync.java new file mode 100755 index 0000000000..1c5408455e --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorScrollSync.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.v7.ui.Grid; +public class GridEditorScrollSync extends AbstractTestUI { + @Override + protected void setup(VaadinRequest request) { + // Create a grid + Grid grid = new Grid(); + grid.setEditorEnabled(true); + grid.setEditorBuffered(false); + // Define some columns + grid.addColumn("name", String.class); + grid.addColumn("born", Integer.class); + grid.addColumn("name1", String.class); + grid.addColumn("born1", Integer.class); + grid.addColumn("name2", String.class); + grid.addColumn("born2", Integer.class); + grid.addColumn("name3", String.class); + grid.addColumn("born3", Integer.class); + grid.addColumn("name4", String.class); + grid.addColumn("born4", Integer.class); + grid.setWidth("450px"); + // Add some data rows + grid.addRow("Nicolaus Copernicus", 1543, "Nicolaus Copernicus", 1543, + "Nicolaus Copernicus", 1543, "Nicolaus Copernicus", 1543, + "Nicolaus Copernicus", 1543); + grid.addRow("Galileo Galilei", 1564, "Galileo Galilei", 1564, + "Galileo Galilei", 1564, "s", 55, "Nicolaus Copernicus", 1543); + grid.addRow("Johannes Kepler", 1571, "Johannes Kepler", 1571, + "Johannes Kepler", 1571, "Nicolaus Copernicus", 1543, + "Nicolaus Copernicus", 1543); + getLayout().addComponent(grid); + } +}
\ No newline at end of file diff --git a/uitest/src/test/java/com/vaadin/tests/components/grid/GridEditorScrollSyncTest.java b/uitest/src/test/java/com/vaadin/tests/components/grid/GridEditorScrollSyncTest.java new file mode 100755 index 0000000000..33297bdbf9 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/grid/GridEditorScrollSyncTest.java @@ -0,0 +1,35 @@ +package com.vaadin.tests.components.grid; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.number.IsCloseTo.closeTo; +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.By; +import com.vaadin.testbench.TestBenchElement; +import com.vaadin.testbench.elements.GridElement; +import com.vaadin.tests.tb3.MultiBrowserTest; +public class GridEditorScrollSyncTest extends MultiBrowserTest { + private GridElement grid; + @Test + public void testScrollAndEdit() { + openTestURL(); + grid = $(GridElement.class).first(); + ((TestBenchElement) grid + .findElement(By.className("v-grid-scroller-horizontal"))) + .scrollLeft(300); + openEditor(); + GridElement.GridCellElement rowCell = grid.getCell(1, 6); + TestBenchElement editorField = grid.getEditor().getField(6); + assertPosition(rowCell.getLocation().getX(), + editorField.getWrappedElement().getLocation().getX()); + } + private GridElement openEditor() { + grid.getCell(0, 6).doubleClick(); + Assert.assertTrue("Grid editor should be displayed.", + grid.getEditor().isDisplayed()); + return grid; + } + private void assertPosition(double expected, double actual) { + // 1px leeway for calculations + assertThat("Unexpected position.", expected, closeTo(actual, 1d)); + } +} |