summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/server-side/com/vaadin/tests/server/component/window/AddRemoveSubWindow.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/server-side/com/vaadin/tests/server/component/window/AddRemoveSubWindow.java b/tests/server-side/com/vaadin/tests/server/component/window/AddRemoveSubWindow.java
index 50de91e2af..74859fd8b7 100644
--- a/tests/server-side/com/vaadin/tests/server/component/window/AddRemoveSubWindow.java
+++ b/tests/server-side/com/vaadin/tests/server/component/window/AddRemoveSubWindow.java
@@ -5,6 +5,8 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import java.util.Set;
+
import org.junit.Test;
import com.vaadin.Application;
@@ -80,4 +82,19 @@ public class AddRemoveSubWindow {
assertTrue("Window was not removed correctly", removed);
assertNull(subWindow.getParent());
}
+
+ @Test
+ public void testChildWindowsIteratorModification() {
+ Window mainWindow = new Window();
+ mainWindow.addWindow(new Window());
+ mainWindow.addWindow(new Window());
+
+ Set<Window> childWindows = mainWindow.getChildWindows();
+ for (Window window : childWindows) {
+ mainWindow.removeWindow(window);
+ }
+
+ assertEquals(2, childWindows.size());
+ assertEquals(0, mainWindow.getChildWindows().size());
+ }
}