From 3c9ec4f459408c1d927b9d7e4803c3f7ac548b29 Mon Sep 17 00:00:00 2001 From: Teppo Kurki Date: Fri, 28 Aug 2015 09:23:05 +0300 Subject: Close existing details when the generator is changed (#18664) Change-Id: Iae5e70f42c27731ce40c00604ccc6097323faa79 --- client/src/com/vaadin/client/widgets/Grid.java | 4 ++++ .../client/GridDetailsClientTest.java | 25 ++++++---------------- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/client/src/com/vaadin/client/widgets/Grid.java b/client/src/com/vaadin/client/widgets/Grid.java index 91fc87d2c7..dbce8c1bbd 100644 --- a/client/src/com/vaadin/client/widgets/Grid.java +++ b/client/src/com/vaadin/client/widgets/Grid.java @@ -8191,6 +8191,10 @@ public class Grid extends ResizeComposite implements "Details generator may not be null"); } + for (Integer index : visibleDetails) { + setDetailsVisible(index, false); + } + this.detailsGenerator = detailsGenerator; // this will refresh all visible spacers diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridDetailsClientTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridDetailsClientTest.java index 1e4b8a0062..73f9d584a6 100644 --- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridDetailsClientTest.java +++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridDetailsClientTest.java @@ -17,7 +17,6 @@ package com.vaadin.tests.components.grid.basicfeatures.client; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -79,16 +78,6 @@ public class GridDetailsClientTest extends GridBasicClientFeaturesTest { details.getText().startsWith("Row: 1.")); } - @Test - public void openDetailsThenAppyRenderer() { - toggleDetailsFor(1); - selectMenuPath(SET_GENERATOR); - - TestBenchElement details = getGridElement().getDetails(1); - assertTrue("Unexpected details content", - details.getText().startsWith("Row: 1.")); - } - @Test public void openHiddenDetailsThenScrollToIt() { try { @@ -114,8 +103,8 @@ public class GridDetailsClientTest extends GridBasicClientFeaturesTest { assertFalse("No notifications should've been at the start", $(FixedNotificationElement.class).exists()); - toggleDetailsFor(1); selectMenuPath(SET_FAULTY_GENERATOR); + toggleDetailsFor(1); ElementQuery notification = $(FixedNotificationElement.class); assertTrue("Was expecting an error notification here", @@ -126,17 +115,15 @@ public class GridDetailsClientTest extends GridBasicClientFeaturesTest { getGridElement().getDetails(1).getText()); } - @Test - public void updaterStillWorksAfterError() { + @Test(expected = NoSuchElementException.class) + public void detailsClosedWhenResettingGenerator() { + + selectMenuPath(SET_GENERATOR); toggleDetailsFor(1); selectMenuPath(SET_FAULTY_GENERATOR); - $(FixedNotificationElement.class).first().close(); - selectMenuPath(SET_GENERATOR); - assertNotEquals( - "New details should've been generated even after error", "", - getGridElement().getDetails(1).getText()); + getGridElement().getDetails(1); } @Test -- cgit v1.2.3