Olli Tietäväinen 5 years ago
parent
commit
43ffcb8c1d

+ 35
- 0
uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorScrollSync.java View File

@@ -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);
}
}

+ 35
- 0
uitest/src/test/java/com/vaadin/tests/components/grid/GridEditorScrollSyncTest.java View File

@@ -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));
}
}

Loading…
Cancel
Save