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: TableColumn.setMaxWidth() test enhanced


This patch (committed) extends the test for the TableColumn.setMaxWidth() method to check for the correct PropertyChangeEvent(s):

2006-03-14 David Gilbert <david.gilbert@object-refinery.com>

   * gnu/testlet/javax/swing/table/TableColumn/setMaxWidth.java
   (events): New field,
   (propertyChange): New method,
   (test): Added checks for PropertyChangeEvents.

I will commit a patch to GNU Classpath CVS shortly to make these tests pass.

Regards,

Dave
Index: gnu/testlet/javax/swing/table/TableColumn/setMaxWidth.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/table/TableColumn/setMaxWidth.java,v
retrieving revision 1.1
diff -u -r1.1 setMaxWidth.java
--- gnu/testlet/javax/swing/table/TableColumn/setMaxWidth.java	9 Jan 2005 23:06:43 -0000	1.1
+++ gnu/testlet/javax/swing/table/TableColumn/setMaxWidth.java	14 Mar 2006 21:02:53 -0000
@@ -1,6 +1,6 @@
 // Tags: JDK1.2
 
-// Copyright (C) 2005 David Gilbert <david.gilbert@object-refinery.com>
+// Copyright (C) 2005, 2006, David Gilbert <david.gilbert@object-refinery.com>
 
 // Mauve is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -14,22 +14,33 @@
 
 // You should have received a copy of the GNU General Public License
 // along with Mauve; see the file COPYING.  If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.  */
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
+// Boston, MA 02110-1301 USA.
 
 package gnu.testlet.javax.swing.table.TableColumn;
 
 import gnu.testlet.TestHarness;
 import gnu.testlet.Testlet;
 
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
 import javax.swing.table.TableColumn;
 
 /**
  * Some tests for the setMaxWidth() method in the {@link TableColumn} class.
  */
-public class setMaxWidth implements Testlet 
+public class setMaxWidth implements Testlet, PropertyChangeListener 
 {
 
+  List events = new java.util.ArrayList();
+  
+  public void propertyChange(PropertyChangeEvent e) 
+  {
+    events.add(e);
+  }
+  
   /**
    * Runs the test using the specified harness.
    * 
@@ -38,15 +49,38 @@
   public void test(TestHarness harness)      
   {
     TableColumn c = new TableColumn();
+    harness.check(c.getMaxWidth(), Integer.MAX_VALUE);
+    
+    c.addPropertyChangeListener(this);
     c.setMaxWidth(99);
     harness.check(c.getMaxWidth(), 99);
+    harness.check(events.size(), 1);
+    PropertyChangeEvent e = (PropertyChangeEvent) events.get(0);
+    harness.check(e.getPropertyName(), "maxWidth");
+    harness.check(e.getOldValue(), new Integer(Integer.MAX_VALUE));
+    harness.check(e.getNewValue(), new Integer(99));
     
+    // now set the max width less than the current width and preferred width
+    events.clear();
     harness.check(c.getWidth(), 75);
     harness.check(c.getPreferredWidth(), 75);
     c.setMaxWidth(50);
     harness.check(c.getWidth(), 50);
     harness.check(c.getMaxWidth(), 50);
     harness.check(c.getPreferredWidth(), 50);
+    harness.check(events.size(), 3);
+    PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0);
+    harness.check(e1.getPropertyName(), "width");
+    harness.check(e1.getOldValue(), new Integer(75));
+    harness.check(e1.getNewValue(), new Integer(50));
+    PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1);
+    harness.check(e2.getPropertyName(), "preferredWidth");
+    harness.check(e2.getOldValue(), new Integer(75));
+    harness.check(e2.getNewValue(), new Integer(50));
+    PropertyChangeEvent e3 = (PropertyChangeEvent) events.get(2);
+    harness.check(e3.getPropertyName(), "maxWidth");
+    harness.check(e3.getOldValue(), new Integer(99));
+    harness.check(e3.getNewValue(), new Integer(50));
   }
 
 }

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