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: new JList tests


I committed some new tests for the JList class:

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

   * gnu/testlet/javax/swing/JList/constructors.java: New test,
   * gnu/testlet/javax/swing/JList/getBackground.java: New test,
   * gnu/testlet/javax/swing/JList/getSelectionBackground.java: New test,
   * gnu/testlet/javax/swing/JList/setBackground.java: New test,
   * gnu/testlet/javax/swing/JList/setModel.java: New test,
   * gnu/testlet/javax/swing/JList/setSelectionBackground: New test.

A small fix for the setModel() method is pending in GNU Classpath.

Regards,

Dave
Index: gnu/testlet/javax/swing/JList/constructors.java
===================================================================
RCS file: gnu/testlet/javax/swing/JList/constructors.java
diff -N gnu/testlet/javax/swing/JList/constructors.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JList/constructors.java	9 Nov 2005 10:39:24 -0000
@@ -0,0 +1,133 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2005 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
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// Mauve is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// 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, Inc., 51 Franklin Street, Fifth Floor, 
+// Boston, MA 02110-1301 USA.
+
+package gnu.testlet.javax.swing.JList;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.util.Vector;
+
+import javax.swing.JList;
+import javax.swing.ListModel;
+import javax.swing.ListSelectionModel;
+import javax.swing.UIManager;
+import javax.swing.plaf.metal.MetalLookAndFeel;
+
+/**
+ * Some checks for the constructors in the 
+ * {@link JList} class.
+ */
+public class constructors implements Testlet
+{
+
+  /**
+   * Runs the test using the specified harness.
+   * 
+   * @param harness  the test harness (<code>null</code> not permitted).
+   */
+  public void test(TestHarness harness)       
+  {
+    try
+    {
+      UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
+    }
+    catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+    testConstructor1(harness);
+    testConstructor2(harness);
+    testConstructor3(harness);
+    testConstructor4(harness);
+  }
+
+  public void testConstructor1(TestHarness harness)
+  {
+    harness.checkPoint("()");
+    JList list = new JList();
+    harness.check(list.getFont(), MetalLookAndFeel.getControlTextFont());
+    harness.check(list.getForeground(), MetalLookAndFeel.getBlack());
+    harness.check(list.getBackground(), 
+        MetalLookAndFeel.getWindowBackground());
+    harness.check(list.getDragEnabled(), false);
+    harness.check(list.getSelectionMode(), 
+            ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+  }
+
+  public void testConstructor2(TestHarness harness)
+  {
+    harness.checkPoint("(ListModel)");
+    JList list = new JList();
+    harness.check(list.getFont(), MetalLookAndFeel.getControlTextFont());
+    harness.check(list.getForeground(), MetalLookAndFeel.getBlack());
+    harness.check(list.getBackground(), 
+        MetalLookAndFeel.getWindowBackground());      
+    harness.check(list.getDragEnabled(), false);
+    harness.check(list.getSelectionMode(), 
+            ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+    
+    // check that null argument triggers a IllegalArgumentException
+    boolean pass = false;
+    try
+    {
+      /*JList list2 =*/ new JList((ListModel) null);
+    }
+    catch (IllegalArgumentException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+  }
+
+  public void testConstructor3(TestHarness harness)
+  {
+    harness.checkPoint("(Object[])");
+    JList list = new JList();
+    harness.check(list.getFont(), MetalLookAndFeel.getControlTextFont());
+    harness.check(list.getForeground(), MetalLookAndFeel.getBlack());
+    harness.check(list.getBackground(), 
+        MetalLookAndFeel.getWindowBackground());      
+    harness.check(list.getDragEnabled(), false);
+    harness.check(list.getSelectionMode(), 
+            ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+    
+    // check that null argument is OK
+    JList list2 = new JList((Object[]) null);
+    harness.check(list2.getModel() != null);
+  }
+
+  public void testConstructor4(TestHarness harness)
+  {
+    harness.checkPoint("(Vector)");
+    JList list = new JList();
+    harness.check(list.getFont(), MetalLookAndFeel.getControlTextFont());
+    harness.check(list.getForeground(), MetalLookAndFeel.getBlack());
+    harness.check(list.getBackground(), 
+        MetalLookAndFeel.getWindowBackground());      
+    harness.check(list.getDragEnabled(), false);
+    harness.check(list.getSelectionMode(), 
+            ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+    
+    // check that null argument is OK
+    JList list2 = new JList((Vector) null);
+    harness.check(list2.getModel() != null);
+  }
+
+}
Index: gnu/testlet/javax/swing/JList/getBackground.java
===================================================================
RCS file: gnu/testlet/javax/swing/JList/getBackground.java
diff -N gnu/testlet/javax/swing/JList/getBackground.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JList/getBackground.java	9 Nov 2005 10:39:24 -0000
@@ -0,0 +1,66 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2005 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
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// Mauve is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// 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, Inc., 51 Franklin Street, Fifth Floor, 
+// Boston, MA 02110-1301 USA.
+
+package gnu.testlet.javax.swing.JList;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.awt.Color;
+
+import javax.swing.JList;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.plaf.metal.MetalLookAndFeel;
+
+/**
+ * Some checks for the getBackground() method of the 
+ * {@link JList} class.
+ */
+public class getBackground implements Testlet
+{
+
+  /**
+   * Runs the test using the specified harness.
+   * 
+   * @param harness  the test harness (<code>null</code> not permitted).
+   */
+  public void test(TestHarness harness)       
+  {
+    // make sure we're using the MetalLookAndFeel
+    try
+    {
+      UIManager.setLookAndFeel(new MetalLookAndFeel());
+    }
+    catch (UnsupportedLookAndFeelException e)
+    {
+      e.printStackTrace();
+    }
+    JList list = new JList();
+    harness.check(list.getBackground(), 
+        MetalLookAndFeel.getWindowBackground());
+    
+    list.setBackground(Color.yellow);
+    harness.check(list.getBackground(), Color.yellow);
+    
+    list.setBackground(null);
+    harness.check(list.getBackground(), null);
+  }
+
+}
Index: gnu/testlet/javax/swing/JList/getSelectionBackground.java
===================================================================
RCS file: gnu/testlet/javax/swing/JList/getSelectionBackground.java
diff -N gnu/testlet/javax/swing/JList/getSelectionBackground.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JList/getSelectionBackground.java	9 Nov 2005 10:39:24 -0000
@@ -0,0 +1,66 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2005 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
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// Mauve is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// 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, Inc., 51 Franklin Street, Fifth Floor, 
+// Boston, MA 02110-1301 USA.
+
+package gnu.testlet.javax.swing.JList;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.awt.Color;
+
+import javax.swing.JList;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.plaf.metal.MetalLookAndFeel;
+
+/**
+ * Some checks for the getSelectionBackground() method of the 
+ * {@link JList} class.
+ */
+public class getSelectionBackground implements Testlet
+{
+
+  /**
+   * Runs the test using the specified harness.
+   * 
+   * @param harness  the test harness (<code>null</code> not permitted).
+   */
+  public void test(TestHarness harness)       
+  {
+    // make sure we're using the MetalLookAndFeel
+    try
+    {
+      UIManager.setLookAndFeel(new MetalLookAndFeel());
+    }
+    catch (UnsupportedLookAndFeelException e)
+    {
+      e.printStackTrace();
+    }
+    JList list = new JList();
+    harness.check(list.getSelectionBackground(), 
+        MetalLookAndFeel.getTextHighlightColor());
+    
+    list.setSelectionBackground(Color.yellow);
+    harness.check(list.getSelectionBackground(), Color.yellow);
+    
+    list.setSelectionBackground(null);
+    harness.check(list.getSelectionBackground(), null);
+  }
+
+}
Index: gnu/testlet/javax/swing/JList/setBackground.java
===================================================================
RCS file: gnu/testlet/javax/swing/JList/setBackground.java
diff -N gnu/testlet/javax/swing/JList/setBackground.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JList/setBackground.java	9 Nov 2005 10:39:24 -0000
@@ -0,0 +1,83 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2005 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
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// Mauve is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// 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, Inc., 51 Franklin Street, Fifth Floor, 
+// Boston, MA 02110-1301 USA.
+
+package gnu.testlet.javax.swing.JList;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.awt.Color;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import javax.swing.JList;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.plaf.metal.MetalLookAndFeel;
+
+/**
+ * Some checks for the setBackground() method of the 
+ * {@link JList} class.
+ */
+public class setBackground implements Testlet, PropertyChangeListener 
+{
+
+  PropertyChangeEvent event;
+  
+  public void propertyChange(PropertyChangeEvent e) 
+  {
+    event = e;
+  }
+
+  /**
+   * Runs the test using the specified harness.
+   * 
+   * @param harness  the test harness (<code>null</code> not permitted).
+   */
+  public void test(TestHarness harness)       
+  {
+    // make sure we're using the MetalLookAndFeel
+    try
+    {
+      UIManager.setLookAndFeel(new MetalLookAndFeel());
+    }
+    catch (UnsupportedLookAndFeelException e)
+    {
+      e.printStackTrace();
+    }
+    JList list = new JList();
+    list.addPropertyChangeListener(this);
+    harness.check(list.getBackground(), 
+        MetalLookAndFeel.getWindowBackground());
+    
+    list.setBackground(Color.yellow);
+    harness.check(list.getBackground(), Color.yellow);
+    harness.check(event.getPropertyName(), "background");
+    harness.check(event.getOldValue(), 
+            MetalLookAndFeel.getWindowBackground());
+    harness.check(event.getNewValue(), Color.yellow);
+    
+    list.setBackground(null);
+    harness.check(list.getBackground(), null);
+    harness.check(event.getPropertyName(), "background");
+    harness.check(event.getOldValue(), Color.yellow);
+    harness.check(event.getNewValue(), null);
+  }
+
+}
Index: gnu/testlet/javax/swing/JList/setModel.java
===================================================================
RCS file: gnu/testlet/javax/swing/JList/setModel.java
diff -N gnu/testlet/javax/swing/JList/setModel.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JList/setModel.java	9 Nov 2005 10:39:24 -0000
@@ -0,0 +1,91 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2005 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
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// Mauve is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// 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, Inc., 51 Franklin Street, Fifth Floor, 
+// Boston, MA 02110-1301 USA.
+
+package gnu.testlet.javax.swing.JList;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
+import javax.swing.DefaultListModel;
+import javax.swing.JList;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.plaf.metal.MetalLookAndFeel;
+
+/**
+ * Some checks for the setModel() method of the 
+ * {@link JList} class.
+ */
+public class setModel implements Testlet, PropertyChangeListener 
+{
+
+  List events = new java.util.ArrayList();
+  
+  public void propertyChange(PropertyChangeEvent e) 
+  {
+    events.add(e);
+  }
+
+  /**
+   * Runs the test using the specified harness.
+   * 
+   * @param harness  the test harness (<code>null</code> not permitted).
+   */
+  public void test(TestHarness harness)       
+  {
+    // make sure we're using the MetalLookAndFeel
+    try
+    {
+      UIManager.setLookAndFeel(new MetalLookAndFeel());
+    }
+    catch (UnsupportedLookAndFeelException e)
+    {
+      e.printStackTrace();
+    }
+    JList list = new JList();
+    list.addPropertyChangeListener(this);
+
+    DefaultListModel m = new DefaultListModel();
+    list.setModel(m);
+    harness.check(list.getModel(), m);
+    harness.check(events.size(), 1);
+
+    PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0);
+    harness.check(e0.getPropertyName(), "model");
+    harness.check(e0.getOldValue() != null);
+    harness.check(e0.getNewValue(), m);
+    
+    // try null argument
+    boolean pass = false;
+    try
+    {
+      list.setModel(null);
+    }
+    catch (IllegalArgumentException e)
+    {
+      pass = true;    
+    }
+    harness.check(pass);
+  }
+
+}
Index: gnu/testlet/javax/swing/JList/setSelectionBackground.java
===================================================================
RCS file: gnu/testlet/javax/swing/JList/setSelectionBackground.java
diff -N gnu/testlet/javax/swing/JList/setSelectionBackground.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JList/setSelectionBackground.java	9 Nov 2005 10:39:24 -0000
@@ -0,0 +1,83 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2005 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
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// Mauve is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// 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, Inc., 51 Franklin Street, Fifth Floor, 
+// Boston, MA 02110-1301 USA.
+
+package gnu.testlet.javax.swing.JList;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.awt.Color;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import javax.swing.JList;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.plaf.metal.MetalLookAndFeel;
+
+/**
+ * Some checks for the setSelectionBackground() method of the 
+ * {@link JList} class.
+ */
+public class setSelectionBackground implements Testlet, PropertyChangeListener 
+{
+
+  PropertyChangeEvent event;
+  
+  public void propertyChange(PropertyChangeEvent e) 
+  {
+    event = e;
+  }
+
+  /**
+   * Runs the test using the specified harness.
+   * 
+   * @param harness  the test harness (<code>null</code> not permitted).
+   */
+  public void test(TestHarness harness)       
+  {
+    // make sure we're using the MetalLookAndFeel
+    try
+    {
+      UIManager.setLookAndFeel(new MetalLookAndFeel());
+    }
+    catch (UnsupportedLookAndFeelException e)
+    {
+      e.printStackTrace();
+    }
+    JList list = new JList();
+    list.addPropertyChangeListener(this);
+    harness.check(list.getSelectionBackground(), 
+        MetalLookAndFeel.getTextHighlightColor());
+    
+    list.setSelectionBackground(Color.yellow);
+    harness.check(list.getSelectionBackground(), Color.yellow);
+    harness.check(event.getPropertyName(), "selectionBackground");
+    harness.check(event.getOldValue(), 
+            MetalLookAndFeel.getTextHighlightColor());
+    harness.check(event.getNewValue(), Color.yellow);
+    
+    list.setSelectionBackground(null);
+    harness.check(list.getSelectionBackground(), null);
+    harness.check(event.getPropertyName(), "selectionBackground");
+    harness.check(event.getOldValue(), Color.yellow);
+    harness.check(event.getNewValue(), null);
+  }
+
+}

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