]> source.dussan.org Git - vaadin-framework.git/commitdiff
Few robustness / memory leak tests.
authorJani Laakso <jani.laakso@itmill.com>
Thu, 7 Feb 2008 07:59:34 +0000 (07:59 +0000)
committerJani Laakso <jani.laakso@itmill.com>
Thu, 7 Feb 2008 07:59:34 +0000 (07:59 +0000)
svn changeset:3722/svn branch:trunk

src/com/itmill/toolkit/tests/robustness/RobustnessComplex.java [new file with mode: 0644]
src/com/itmill/toolkit/tests/robustness/RobustnessSimple.java [new file with mode: 0644]

diff --git a/src/com/itmill/toolkit/tests/robustness/RobustnessComplex.java b/src/com/itmill/toolkit/tests/robustness/RobustnessComplex.java
new file mode 100644 (file)
index 0000000..b15d298
--- /dev/null
@@ -0,0 +1,74 @@
+package com.itmill.toolkit.tests.robustness;
+
+import com.itmill.toolkit.tests.util.RandomComponents;
+import com.itmill.toolkit.ui.Button;
+import com.itmill.toolkit.ui.ComponentContainer;
+import com.itmill.toolkit.ui.Label;
+import com.itmill.toolkit.ui.Window;
+import com.itmill.toolkit.ui.Button.ClickEvent;
+
+public class RobustnessComplex extends com.itmill.toolkit.Application implements
+        Button.ClickListener {
+
+    static int totalCount = 0;
+
+    int count = 0;
+
+    final Window main = new Window("Robustness tests by featurebrowser");
+
+    final Button button = new Button("Create");
+
+    final Label label = new Label();
+
+    ComponentContainer stressLayout;
+
+    RandomComponents randomComponents = new RandomComponents();
+
+    public void init() {
+        createNewView();
+    }
+
+    public void createNewView() {
+        setMainWindow(main);
+        main.removeAllComponents();
+
+        main.addComponent(label);
+        main.addComponent(button);
+        button.addListener(this);
+
+        button.setDebugId("createButton");
+
+        create();
+    }
+
+    public void buttonClick(ClickEvent event) {
+        create();
+    }
+
+    /**
+     * Create complex layouts with components and listeners.
+     */
+    public void create() {
+        count++;
+
+        // remove old stressLayout, all dependant components should be now
+        // allowed for garbage collection.
+        if (stressLayout != null)
+            main.removeComponent(stressLayout);
+
+        // create new stress layout
+        stressLayout = randomComponents
+                .getRandomComponentContainer("Component container " + count);
+
+        // fill with random components
+        randomComponents.fillLayout(stressLayout, 20);
+
+        // add new component container to main layout
+        main.addComponent(stressLayout);
+
+        // if ((count % 100) == 0) {
+        System.out.println("Created " + count + " times.");
+        // }
+    }
+
+}
diff --git a/src/com/itmill/toolkit/tests/robustness/RobustnessSimple.java b/src/com/itmill/toolkit/tests/robustness/RobustnessSimple.java
new file mode 100644 (file)
index 0000000..c66f100
--- /dev/null
@@ -0,0 +1,79 @@
+package com.itmill.toolkit.tests.robustness;
+
+import com.itmill.toolkit.tests.util.Log;
+import com.itmill.toolkit.tests.util.RandomComponents;
+import com.itmill.toolkit.ui.Button;
+import com.itmill.toolkit.ui.ComponentContainer;
+import com.itmill.toolkit.ui.Label;
+import com.itmill.toolkit.ui.OrderedLayout;
+import com.itmill.toolkit.ui.Window;
+import com.itmill.toolkit.ui.Button.ClickEvent;
+
+public class RobustnessSimple extends com.itmill.toolkit.Application implements
+        Button.ClickListener {
+
+    static int totalCount = 0;
+
+    int count = 0;
+
+    final Window main = new Window("Robustness tests by featurebrowser");
+
+    final Button button = new Button("Create");
+
+    final Label label = new Label();
+
+    ComponentContainer stressLayout;
+
+    RandomComponents randomComponents = new RandomComponents();
+
+    public void init() {
+        createNewView();
+    }
+
+    public void createNewView() {
+        setMainWindow(main);
+        main.removeAllComponents();
+
+        main.addComponent(label);
+        main.addComponent(button);
+        button.addListener(this);
+
+        button.setDebugId("createButton");
+
+        create();
+    }
+
+    public void buttonClick(ClickEvent event) {
+        create();
+    }
+
+    /**
+     * Create single orderedlayout with 100 labels.
+     */
+    public void create() {
+        count++;
+
+        // remove old stressLayout, all dependant components should be now
+        // allowed for garbage collection.
+        if (stressLayout != null) {
+            stressLayout.removeAllComponents();
+            main.removeComponent(stressLayout);
+        }
+
+        // create new stress layout
+        stressLayout = new OrderedLayout();
+
+        // fill with random components
+        Label label = new Label("Label " + Log.getMemoryStatistics(),
+                Label.CONTENT_PREFORMATTED);
+        byte[] data = new byte[1024 * 1024];
+        label.setData(data);
+        stressLayout.addComponent(label);
+
+        // add new component container to main layout
+        main.addComponent(stressLayout);
+
+        System.out.println("Created " + count + " times.");
+    }
+
+}