diff options
Diffstat (limited to 'uitest')
3 files changed, 72 insertions, 40 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/contextclick/GridContextClick.java b/uitest/src/main/java/com/vaadin/tests/contextclick/GridContextClick.java index 22c0331059..e5d33ab17a 100644 --- a/uitest/src/main/java/com/vaadin/tests/contextclick/GridContextClick.java +++ b/uitest/src/main/java/com/vaadin/tests/contextclick/GridContextClick.java @@ -15,27 +15,44 @@ */ package com.vaadin.tests.contextclick; +import java.util.Collections; + +import com.vaadin.shared.ui.grid.GridConstants.Section; +import com.vaadin.tests.util.Person; import com.vaadin.tests.util.PersonContainer; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Grid; +import com.vaadin.ui.Grid.GridContextClickEvent; import com.vaadin.ui.HorizontalLayout; -import com.vaadin.v7.data.Item; -import com.vaadin.v7.shared.ui.grid.GridConstants.Section; -import com.vaadin.v7.ui.Grid; -import com.vaadin.v7.ui.Grid.GridContextClickEvent; -public class GridContextClick - extends AbstractContextClickUI<Grid, GridContextClickEvent> { +public class GridContextClick extends + AbstractContextClickUI<Grid<Person>, GridContextClickEvent<Person>> { @Override - protected Grid createTestComponent() { - Grid grid = new Grid(PersonContainer.createWithTestData()); - grid.setFooterVisible(true); - grid.appendFooterRow(); + protected Grid<Person> createTestComponent() { + Grid<Person> grid = new Grid<>(); + grid.setItems(PersonContainer.createTestData()); + grid.addColumn("Address", + person -> String.valueOf(person.getAddress())); + grid.addColumn("Email", person -> String.valueOf(person.getEmail())); + grid.addColumn("First Name", + person -> String.valueOf(person.getFirstName())); + grid.addColumn("Last Name", + person -> String.valueOf(person.getLastName())); + grid.addColumn("Phone Number", + person -> String.valueOf(person.getPhoneNumber())); + grid.addColumn("Street Address", person -> String + .valueOf(person.getAddress().getStreetAddress())); + grid.addColumn("City", + person -> String.valueOf(person.getAddress().getCity())); + + // grid.setFooterVisible(true); + // grid.appendFooterRow(); - grid.setColumnOrder("address", "email", "firstName", "lastName", - "phoneNumber", "address.streetAddress", "address.postalCode", - "address.city"); + // grid.setColumnOrder("address", "email", "firstName", "lastName", + // "phoneNumber", "address.streetAddress", "address.postalCode", + // "address.city"); grid.setWidth("100%"); grid.setHeight("400px"); @@ -44,23 +61,27 @@ public class GridContextClick } @Override - protected void handleContextClickEvent(GridContextClickEvent event) { + protected void handleContextClickEvent( + GridContextClickEvent<Person> event) { String value = ""; - Object propertyId = event.getPropertyId(); - if (event.getItemId() != null) { - Item item = event.getComponent().getContainerDataSource() - .getItem(event.getItemId()); - value += item.getItemProperty("firstName").getValue(); - value += " " + item.getItemProperty("lastName").getValue(); + Person person = event.getItem(); + if (event.getItem() != null) { + value = person.getFirstName() + " " + person.getLastName(); } else if (event.getSection() == Section.HEADER) { - value = event.getComponent().getHeaderRow(event.getRowIndex()) - .getCell(propertyId).getText(); + value = event.getColumn().getCaption(); } else if (event.getSection() == Section.FOOTER) { - value = event.getComponent().getFooterRow(event.getRowIndex()) - .getCell(propertyId).getText(); + value = event.getColumn().getCaption(); + } + + if (event.getColumn() != null) { + log("ContextClickEvent value: " + value + ", column: " + + event.getColumn().getCaption() + ", section: " + + event.getSection()); + } else { + log("ContextClickEvent value: " + value + ", section: " + + event.getSection()); + } - log("ContextClickEvent value: " + value + ", propertyId: " + propertyId - + ", section: " + event.getSection()); } @Override @@ -71,7 +92,7 @@ public class GridContextClick @Override public void buttonClick(ClickEvent event) { - testComponent.getContainerDataSource().removeAllItems(); + testComponent.setItems(Collections.emptyList()); } })); return controls; diff --git a/uitest/src/main/java/com/vaadin/tests/util/PersonContainer.java b/uitest/src/main/java/com/vaadin/tests/util/PersonContainer.java index cb7c3c28a5..caedc9f299 100644 --- a/uitest/src/main/java/com/vaadin/tests/util/PersonContainer.java +++ b/uitest/src/main/java/com/vaadin/tests/util/PersonContainer.java @@ -1,6 +1,8 @@ package com.vaadin.tests.util; import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collection; import java.util.Random; import com.vaadin.v7.data.util.BeanItemContainer; @@ -36,9 +38,18 @@ public class PersonContainer extends BeanItemContainer<Person> } public static PersonContainer createWithTestData(int size) { - PersonContainer c = null; + PersonContainer c = new PersonContainer(); + c.addAll(createTestData(size)); + return c; + } + + public static Collection<Person> createTestData() { + return createTestData(100); + } + + public static Collection<Person> createTestData(int size) { Random r = new Random(0); - c = new PersonContainer(); + ArrayList<Person> testData = new ArrayList<>(); for (int i = 0; i < size; i++) { Person p = new Person(); p.setFirstName(TestDataGenerator.getFirstName(r)); @@ -51,10 +62,9 @@ public class PersonContainer extends BeanItemContainer<Person> p.getAddress().setPostalCode(TestDataGenerator.getPostalCode(r)); p.getAddress() .setStreetAddress(TestDataGenerator.getStreetAddress(r)); - c.addItem(p); + testData.add(p); } - - return c; + return testData; } } diff --git a/uitest/src/test/java/com/vaadin/tests/contextclick/GridContextClickTest.java b/uitest/src/test/java/com/vaadin/tests/contextclick/GridContextClickTest.java index fa5d6d7e2b..e26060f3ae 100644 --- a/uitest/src/test/java/com/vaadin/tests/contextclick/GridContextClickTest.java +++ b/uitest/src/test/java/com/vaadin/tests/contextclick/GridContextClickTest.java @@ -17,6 +17,7 @@ package com.vaadin.tests.contextclick; import static org.junit.Assert.assertEquals; +import org.junit.Ignore; import org.junit.Test; import org.openqa.selenium.WebElement; @@ -32,13 +33,13 @@ public class GridContextClickTest extends AbstractContextClickTest { contextClick($(GridElement.class).first().getCell(0, 0)); assertEquals( - "1. ContextClickEvent value: Lisa Schneider, propertyId: address, section: BODY", + "1. ContextClickEvent value: Lisa Schneider, column: Address, section: BODY", getLogRow(0)); contextClick($(GridElement.class).first().getCell(0, 3)); assertEquals( - "2. ContextClickEvent value: Lisa Schneider, propertyId: lastName, section: BODY", + "2. ContextClickEvent value: Lisa Schneider, column: Last Name, section: BODY", getLogRow(0)); } @@ -49,30 +50,31 @@ public class GridContextClickTest extends AbstractContextClickTest { contextClick($(GridElement.class).first().getHeaderCell(0, 0)); assertEquals( - "1. ContextClickEvent value: Address, propertyId: address, section: HEADER", + "1. ContextClickEvent value: Address, column: Address, section: HEADER", getLogRow(0)); contextClick($(GridElement.class).first().getHeaderCell(0, 3)); assertEquals( - "2. ContextClickEvent value: Last Name, propertyId: lastName, section: HEADER", + "2. ContextClickEvent value: Last Name, column: Last Name, section: HEADER", getLogRow(0)); } @Test + @Ignore("Footer is not currently implemented in grid") public void testFooterContextClickWithTypedListener() { addOrRemoveTypedListener(); contextClick($(GridElement.class).first().getFooterCell(0, 0)); assertEquals( - "1. ContextClickEvent value: , propertyId: address, section: FOOTER", + "1. ContextClickEvent value: , column: Address, section: FOOTER", getLogRow(0)); contextClick($(GridElement.class).first().getFooterCell(0, 3)); assertEquals( - "2. ContextClickEvent value: , propertyId: lastName, section: FOOTER", + "2. ContextClickEvent value: , column: Last Name, section: FOOTER", getLogRow(0)); } @@ -84,8 +86,7 @@ public class GridContextClickTest extends AbstractContextClickTest { contextClick($(GridElement.class).first(), 100, 100); - assertEquals( - "1. ContextClickEvent value: , propertyId: null, section: BODY", + assertEquals("1. ContextClickEvent value: , section: BODY", getLogRow(0)); } |