summaryrefslogtreecommitdiffstats
path: root/uitest/src
diff options
context:
space:
mode:
authorSun Zhe <31067185+ZheSun88@users.noreply.github.com>2018-10-12 16:04:24 +0300
committerGitHub <noreply@github.com>2018-10-12 16:04:24 +0300
commit5c7c28a3a6e30a103fe5189d36df879e2eb24b14 (patch)
tree24903f28d71be72e2f99d4fe055e08abb5dd2169 /uitest/src
parent4e5cf07e6c8c94c12ef9d8b274c0c54b5e0fe423 (diff)
downloadvaadin-framework-5c7c28a3a6e30a103fe5189d36df879e2eb24b14.tar.gz
vaadin-framework-5c7c28a3a6e30a103fe5189d36df879e2eb24b14.zip
Revert change to fix issue on removing Grid with components (#11224)
* Test case for removing Grid with components * This reverts commit b2745dc14f17b510df7321ab3f6285ed317da3b3. Add test case to address the issue with removing gird with components; Current situation: the grid cannot be removed and client-side throw an error. fixes: Revert the corresponding change, as it didn't address any issue which was fixed.
Diffstat (limited to 'uitest/src')
-rw-r--r--uitest/src/main/java/com/vaadin/tests/components/grid/GridComponentsVisibility.java10
-rw-r--r--uitest/src/main/java/com/vaadin/tests/components/grid/RemoveGridWithComponent.java29
-rw-r--r--uitest/src/test/java/com/vaadin/tests/components/grid/GridComponentsVisibilityTest.java42
-rw-r--r--uitest/src/test/java/com/vaadin/tests/components/grid/RemoveGridWithComponentTest.java23
-rw-r--r--uitest/src/test/java/com/vaadin/tests/push/BasicPushTest.java15
5 files changed, 82 insertions, 37 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/grid/GridComponentsVisibility.java b/uitest/src/main/java/com/vaadin/tests/components/grid/GridComponentsVisibility.java
index aaa2d98027..8c8810f7a8 100644
--- a/uitest/src/main/java/com/vaadin/tests/components/grid/GridComponentsVisibility.java
+++ b/uitest/src/main/java/com/vaadin/tests/components/grid/GridComponentsVisibility.java
@@ -24,9 +24,9 @@ public class GridComponentsVisibility extends AbstractTestUIWithLog {
protected void setup(VaadinRequest request) {
Grid<String> grid = new Grid<>();
grid.addColumn(string -> new Label(string), new ComponentRenderer())
- .setId("label").setCaption("Column 0");
+ .setId("label").setCaption("Column 0");
grid.getDefaultHeaderRow().getCell("label")
- .setComponent(new Label("Label"));
+ .setComponent(new Label("Label"));
grid.addComponentColumn(string -> {
if (textFields.containsKey(string)) {
log("Reusing old text field for: " + string);
@@ -41,7 +41,7 @@ public class GridComponentsVisibility extends AbstractTestUIWithLog {
grid.addColumn(string -> {
Button button = new Button("Click Me!",
- event -> toggleFieldVisibility(string));
+ event -> toggleFieldVisibility(string));
button.setId(string.replace(' ', '_').toLowerCase(Locale.ROOT));
return button;
}, new ComponentRenderer()).setId("button").setCaption("Button");
@@ -49,13 +49,13 @@ public class GridComponentsVisibility extends AbstractTestUIWithLog {
grid.setRowHeight(40);
grid.getDefaultHeaderRow().join("textField", "button")
- .setText("Other Components");
+ .setText("Other Components");
addComponent(grid);
grid.setSizeFull();
grid.setItems(IntStream.range(0, 5).boxed()
- .map(i -> "Row " + (i + (counter * 1000))));
+ .map(i -> "Row " + (i + (counter * 1000))));
}
diff --git a/uitest/src/main/java/com/vaadin/tests/components/grid/RemoveGridWithComponent.java b/uitest/src/main/java/com/vaadin/tests/components/grid/RemoveGridWithComponent.java
new file mode 100644
index 0000000000..4266a6c81a
--- /dev/null
+++ b/uitest/src/main/java/com/vaadin/tests/components/grid/RemoveGridWithComponent.java
@@ -0,0 +1,29 @@
+package com.vaadin.tests.components.grid;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Grid;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ * @author Vaadin Ltd
+ *
+ */
+public class RemoveGridWithComponent extends AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ VerticalLayout layout = new VerticalLayout();
+ addComponent(layout);
+ Grid<String> grid = new Grid<>();
+ grid.setId("grid-with-component");
+ grid.addComponentColumn(text -> new Label(text));
+ grid.setItems("item 1", "item 2");
+ Button button = new Button("remove grid",
+ event -> layout.removeComponent(grid));
+ button.setId("remove-grid");
+ layout.addComponents(grid, button);
+ }
+}
diff --git a/uitest/src/test/java/com/vaadin/tests/components/grid/GridComponentsVisibilityTest.java b/uitest/src/test/java/com/vaadin/tests/components/grid/GridComponentsVisibilityTest.java
index 3e8f806499..14fa82a58e 100644
--- a/uitest/src/test/java/com/vaadin/tests/components/grid/GridComponentsVisibilityTest.java
+++ b/uitest/src/test/java/com/vaadin/tests/components/grid/GridComponentsVisibilityTest.java
@@ -23,8 +23,7 @@ public class GridComponentsVisibilityTest extends MultiBrowserTest {
@Test
public void changingVisibilityOfComponentShouldNotThrowClientSideExceptions() {
- testHideComponent(grid -> ThreadLocalRandom.current().nextInt(1,
- (int) grid.getRowCount() - 1));
+ testHideComponent(grid -> ThreadLocalRandom.current().nextInt(1, (int) grid.getRowCount() - 1));
}
@Test
@@ -32,13 +31,12 @@ public class GridComponentsVisibilityTest extends MultiBrowserTest {
testHideComponent(grid -> (int) grid.getRowCount() - 1);
}
- private void testHideComponent(
- Function<GridElement, Integer> rowUnderTestSupplier) {
+ private void testHideComponent(Function<GridElement, Integer> rowUnderTestSupplier) {
openTestURL("debug");
GridElement grid = $(GridElement.class).first();
int rowUnderTest = rowUnderTestSupplier.apply(grid);
assertTrue("Text field should be visible", grid.getCell(rowUnderTest, 1)
- .isElementPresent(TextFieldElement.class));
+ .isElementPresent(TextFieldElement.class));
assertOtherConnectorsArePresent(grid, rowUnderTest);
clearDebugMessages();
@@ -59,40 +57,34 @@ public class GridComponentsVisibilityTest extends MultiBrowserTest {
clickVisibilityToggleButton(grid, rowUnderTest);
}
- private void assertOnlyTextFieldOnTestedRowIsNotPresent(GridElement grid,
- int rowUnderTest) {
- assertFalse("Text field should not be visible",
- grid.getCell(rowUnderTest, 1)
- .isElementPresent(TextFieldElement.class));
+ private void assertOnlyTextFieldOnTestedRowIsNotPresent(GridElement grid, int rowUnderTest) {
+ assertFalse("Text field should not be visible", grid.getCell(rowUnderTest, 1)
+ .isElementPresent(TextFieldElement.class));
assertOtherConnectorsArePresent(grid, rowUnderTest);
}
- private void assertAllTextFieldsArePresent(GridElement grid,
- int rowUnderTest) {
+ private void assertAllTextFieldsArePresent(GridElement grid, int rowUnderTest) {
assertTrue("Text field should be visible", grid.getCell(rowUnderTest, 1)
- .isElementPresent(TextFieldElement.class));
+ .isElementPresent(TextFieldElement.class));
assertOtherConnectorsArePresent(grid, rowUnderTest);
}
private void assertNotClientSideErrors() {
assertNoErrorNotifications();
- // Should not log "Widget is still attached to the DOM ..." error
- // message
+ // Should not log "Widget is still attached to the DOM ..." error message
assertNoDebugMessage(Level.SEVERE);
}
- private void clickVisibilityToggleButton(GridElement grid,
- int rowUnderTest) {
- grid.getRow(rowUnderTest).getCell(2)
- .findElement(By.className("v-button")).click();
+ private void clickVisibilityToggleButton(GridElement grid, int rowUnderTest) {
+ grid.getRow(rowUnderTest).getCell(2).findElement(By.className("v-button")).click();
}
- private void assertOtherConnectorsArePresent(GridElement grid,
- int rowUnderTest) {
+ private void assertOtherConnectorsArePresent(GridElement grid, int rowUnderTest) {
IntStream.range(1, (int) grid.getRowCount())
- .filter(row -> row != rowUnderTest)
- .forEach(row -> assertTrue("Text field should be visible",
- grid.getCell(row, 1)
- .isElementPresent(TextFieldElement.class)));
+ .filter(row -> row != rowUnderTest)
+ .forEach(row ->
+ assertTrue("Text field should be visible", grid.getCell(row, 1)
+ .isElementPresent(TextFieldElement.class))
+ );
}
}
diff --git a/uitest/src/test/java/com/vaadin/tests/components/grid/RemoveGridWithComponentTest.java b/uitest/src/test/java/com/vaadin/tests/components/grid/RemoveGridWithComponentTest.java
new file mode 100644
index 0000000000..49e2a8e055
--- /dev/null
+++ b/uitest/src/test/java/com/vaadin/tests/components/grid/RemoveGridWithComponentTest.java
@@ -0,0 +1,23 @@
+package com.vaadin.tests.components.grid;
+
+import org.junit.Test;
+import org.openqa.selenium.By;
+
+import com.vaadin.testbench.elements.ButtonElement;
+import com.vaadin.testbench.elements.GridElement;
+import com.vaadin.tests.tb3.SingleBrowserTest;
+
+/**
+ * @author Vaadin Ltd
+ */
+public class RemoveGridWithComponentTest extends SingleBrowserTest {
+
+ @Test
+ public void RemoveGrid_CheckGridNotPresent() {
+ openTestURL();
+
+ ButtonElement button = $(ButtonElement.class).id("remove-grid");
+ button.click();
+ assertElementNotPresent(By.id("grid-with-component"));
+ }
+}
diff --git a/uitest/src/test/java/com/vaadin/tests/push/BasicPushTest.java b/uitest/src/test/java/com/vaadin/tests/push/BasicPushTest.java
index 91408fa4b4..1264affcf2 100644
--- a/uitest/src/test/java/com/vaadin/tests/push/BasicPushTest.java
+++ b/uitest/src/test/java/com/vaadin/tests/push/BasicPushTest.java
@@ -70,13 +70,14 @@ public abstract class BasicPushTest extends MultiBrowserTest {
protected void waitUntilClientCounterChanges(final int expectedValue) {
waitUntil(input -> {
- try {
- return BasicPushTest
- .getClientCounter(BasicPushTest.this) == expectedValue;
- } catch (NoSuchElementException e) {
- return false;
- }
- }, 10);
+ try {
+ return BasicPushTest
+ .getClientCounter(BasicPushTest.this) == expectedValue;
+ } catch (NoSuchElementException e) {
+ return false;
+ }
+ },
+ 10);
}
protected void waitUntilServerCounterChanges() {