This is the mail archive of the
mauve-patches@sourceware.org
mailing list for the Mauve project.
FYI: JComponent.setMaximumSize()
- From: David Gilbert <david dot gilbert at object-refinery dot com>
- To: mauve-patches at sources dot redhat dot com
- Date: Thu, 17 Nov 2005 23:15:12 +0000
- Subject: FYI: JComponent.setMaximumSize()
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/setMaximumSize.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/setMaximumSize.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JComponent/setMaximumSize.java,v
retrieving revision 1.1
diff -u -r1.1 setMaximumSize.java
--- gnu/testlet/javax/swing/JComponent/setMaximumSize.java 18 Oct 2005 14:39:25 -0000 1.1
+++ gnu/testlet/javax/swing/JComponent/setMaximumSize.java 17 Nov 2005 23:08:24 -0000
@@ -20,19 +20,26 @@
package gnu.testlet.javax.swing.JComponent;
-import java.awt.Color;
-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 setMaximumSize works correctly.
*
* @author Roman Kennke (kennke@aicas.com)
*/
-public class setMaximumSize implements Testlet
+public class setMaximumSize implements Testlet, PropertyChangeListener
{
+
+ PropertyChangeEvent event;
+
/**
* Starts the test run.
*
@@ -40,11 +47,49 @@
*/
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.getMaximumSize(), new Dimension(32767, 32767));
+ Dimension d = new Dimension(123, 456);
+ c.setMaximumSize(d);
+ harness.check(c.getMaximumSize(), d);
+ harness.check(c.getMaximumSize() != d);
+ c.setMaximumSize(null); // restores the default
+ harness.check(c.getMaximumSize(), new Dimension(32767, 32767));
+ }
+
+ private void testPropertyChangeEvent(TestHarness harness)
+ {
+ JComponent c = new JPanel();
+ c.addPropertyChangeListener(this);
+ c.setMaximumSize(new Dimension(1, 2));
+ harness.check(this.event.getPropertyName(), "maximumSize");
+ harness.check(this.event.getOldValue(), null);
+ harness.check(this.event.getNewValue(), new Dimension(1, 2));
+ this.event = null;
+ c.setMaximumSize(null);
+ harness.check(this.event.getOldValue(), new Dimension(1, 2));
+ harness.check(this.event.getNewValue(), null);
+ }
+
+ public void propertyChange(PropertyChangeEvent e)
+ {
+ this.event = e;
+ }
+
+ /**
* Tests if setMaximumSize triggers a repaint.
*
* @param harness the test harness to use