This is the mail archive of the mauve-patches@sourceware.org mailing list for the Mauve project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FYI: JComponent.setMinimumSize()


I committed these tests to back up a small fix I plan to commit for this method in GNU Classpath:

2005-11-17 David Gilbert <david.gilbert@object-refinery.com>

  * gnu/testlet/javax/swing/JComponent/setMinimumSize.java:
  (event): New field,
  (test): Call new test methods,
  (testGeneral): New test method,
  (testPropertyChangeEvent): New test method,
  (propertyChange): New method.

Regards,

Dave
Index: gnu/testlet/javax/swing/JComponent/setMinimumSize.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JComponent/setMinimumSize.java,v
retrieving revision 1.1
diff -u -r1.1 setMinimumSize.java
--- gnu/testlet/javax/swing/JComponent/setMinimumSize.java	18 Oct 2005 14:39:25 -0000	1.1
+++ gnu/testlet/javax/swing/JComponent/setMinimumSize.java	17 Nov 2005 23:41:31 -0000
@@ -20,18 +20,31 @@
 
 package gnu.testlet.javax.swing.JComponent;
 
-import java.awt.Dimension;
-
 import gnu.testlet.TestHarness;
 import gnu.testlet.Testlet;
 
+import java.awt.Dimension;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+
 /**
  * Tests if setMinimumSize works correctly.
  *
  * @author Roman Kennke (kennke@aicas.com)
  */
-public class setMinimumSize implements Testlet
+public class setMinimumSize implements Testlet, PropertyChangeListener
 {
+    
+  PropertyChangeEvent event;
+  
+  public void propertyChange(PropertyChangeEvent event) 
+  {
+    this.event = event;
+  }
+  
   /**
    * Starts the test run.
    *
@@ -39,11 +52,52 @@
    */
   public void test(TestHarness harness)
   {
+    testGeneral(harness);
+    testPropertyChangeEvent(harness);
     testRepaint(harness);
     testRevalidate(harness);
   }
 
   /**
+   * Some general checks.
+   * 
+   * @param harness  the test harness.
+   */
+  private void testGeneral(TestHarness harness) 
+  {
+    JComponent c = new JPanel();
+    harness.check(c.getMinimumSize(), new Dimension(10, 10));
+    Dimension d = new Dimension(123, 456);
+    c.setMinimumSize(d);
+    harness.check(c.getMinimumSize(), d);
+    harness.check(c.getMinimumSize() != d);
+    c.setMinimumSize(null);  // restores the default
+    harness.check(c.getMinimumSize(), new Dimension(10, 10));
+  }
+  
+  private void testPropertyChangeEvent(TestHarness harness) 
+  {
+    JComponent c = new JPanel();
+    c.addPropertyChangeListener(this);
+    c.setMinimumSize(new Dimension(1, 2));
+    harness.check(this.event.getPropertyName(), "minimumSize");
+    harness.check(this.event.getOldValue(), null);
+    harness.check(this.event.getNewValue(), new Dimension(1, 2));
+    this.event = null;
+    c.setMinimumSize(null);
+    harness.check(this.event.getOldValue(), new Dimension(1, 2));
+    harness.check(this.event.getNewValue(), null);
+    this.event = null;
+    c.setMinimumSize(null);
+    harness.check(this.event.getOldValue(), null);
+    harness.check(this.event.getNewValue(), null);
+    c.setMinimumSize(new Dimension(12, 34));
+    this.event = null;
+    c.setMinimumSize(new Dimension(12, 34));
+    harness.check(this.event, null);
+  }
+  
+  /**
    * Tests if setMinimumSize triggers a repaint.
    *
    * @param harness the test harness to use

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]