Author: allain.lalonde
Date: Fri Jul 17 16:46:55 2009
New Revision: 495
Removed:
piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/MemoryLeakTests.java
Modified:
piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/PCanvasTest.java
Log:
Modified:
piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/PCanvasTest.java
==============================================================================
---
piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/PCanvasTest.java
(original)
+++
piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/PCanvasTest.java
Fri Jul 17 16:46:55 2009
@@ -2,14 +2,18 @@
import java.awt.Cursor;
+import javax.swing.JPanel;
+
import junit.framework.TestCase;
import edu.umd.cs.piccolo.util.PBounds;
import edu.umd.cs.piccolo.util.PPaintContext;
public class PCanvasTest extends TestCase {
private PCanvas canvas;
-
- public void setUp() {
+ private int pCanvasFinalizerCount;
+
+ public void setUp() {
+ pCanvasFinalizerCount = 0;
canvas = new PCanvas();
}
@@ -86,6 +90,24 @@
canvas.setBounds(0, 0, 100, 100);
assertEquals(new PBounds(0, 0, 100, 100),
canvas.getCamera().getBounds());
}
-
+
+ public void testMemoryLeakWithPCanvas() throws InterruptedException {
+ JPanel panel = new JPanel();
+ for (int i=0; i < 10; i++) {
+ PCanvas canvas = new PCanvas() {
+ public void finalize() {
+ pCanvasFinalizerCount ++;
+ }
+ };
+ panel.add(canvas);
+ panel.remove(canvas);
+ canvas = null;
+ }
+ System.gc();
+ System.runFinalization();
+
+ // Not sure why I need -1 here, but I do. If I create 10000 it'll
always be 1 less
+ assertEquals(10-1, pCanvasFinalizerCount);
+ }
}
--~--~---------~--~----~------------~-------~--~----~
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en
-~----------~----~----~----~------~----~------~--~---