]> source.dussan.org Git - vaadin-framework.git/commitdiff
Test case for #9452
authorJohannes Dahlström <johannesd@vaadin.com>
Mon, 3 Sep 2012 08:45:27 +0000 (11:45 +0300)
committerJohannes Dahlström <johannesd@vaadin.com>
Mon, 3 Sep 2012 08:46:36 +0000 (11:46 +0300)
uitest/src/com/vaadin/tests/components/panel/PanelConcurrentModificationException.java [new file with mode: 0644]

diff --git a/uitest/src/com/vaadin/tests/components/panel/PanelConcurrentModificationException.java b/uitest/src/com/vaadin/tests/components/panel/PanelConcurrentModificationException.java
new file mode 100644 (file)
index 0000000..9235eb3
--- /dev/null
@@ -0,0 +1,46 @@
+package com.vaadin.tests.components.panel;
+
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.ComponentContainer;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Notification;
+import com.vaadin.ui.Panel;
+
+public class PanelConcurrentModificationException extends TestBase {
+
+    private final ComponentContainer panel = new Panel();
+
+    @Override
+    protected void setup() {
+        addComponent(new Button("Click here for exception",
+                new Button.ClickListener() {
+                    @Override
+                    public void buttonClick(ClickEvent event) {
+                        panel.addComponent(new Label("Label"));
+                    }
+                }));
+        addComponent(new Button("Or click here first",
+                new Button.ClickListener() {
+                    @Override
+                    public void buttonClick(ClickEvent event) {
+                        Notification
+                                .show("It is now safe to click the other button");
+                    }
+                }));
+        addComponent(panel);
+    }
+
+    @Override
+    protected String getDescription() {
+        return "Modifying Panel content causes Internal Error (ConcurrentModificationException)";
+    }
+
+    @Override
+    protected Integer getTicketNumber() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}