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: More JInternalFrame tests


This patch (committed) updates some existing tests and adds one new test file:

2006-05-31 David Gilbert <david.gilbert@object-refinery.com>

   * gnu/testlet/javax/swing/JInternalFrame/setClosable.java
   (TestPropertyChangeHandler): Removed,
   (lastEvent): New field,
   (propertyChange): New method,
   (test): Rewritten,
   * gnu/testlet/javax/swing/JInternalFrame/setIconifiable.java
   (TestPropertyChangeHandler): Removed,
   (lastEvent): New field,
   (propertyChange): New method,
   (test): Rewritten,
   * gnu/testlet/javax/swing/JInternalFrame/setResizable.java
   (TestPropertyChangeHandler): Removed,
   (lastEvent): New field,
   (propertyChange): New method,
   (test): Rewritten,
   * gnu/testlet/javax/swing/JInternalFrame/setSelected2.java: New file.

Regards,

Dave
Index: gnu/testlet/javax/swing/JInternalFrame/setClosable.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JInternalFrame/setClosable.java,v
retrieving revision 1.1
diff -u -r1.1 setClosable.java
--- gnu/testlet/javax/swing/JInternalFrame/setClosable.java	15 Mar 2006 14:28:14 -0000	1.1
+++ gnu/testlet/javax/swing/JInternalFrame/setClosable.java	31 May 2006 13:41:21 -0000
@@ -1,5 +1,6 @@
 /* setClosable.java -- Checks the setClosable method
    Copyright (C) 2006 Roman Kennke (kennke@aicas.com)
+       and David Gilbert <david.gilbert@object-refinery.com>
 This file is part of Mauve.
 
 Mauve is free software; you can redistribute it and/or modify
@@ -31,51 +32,25 @@
 import gnu.testlet.TestHarness;
 import gnu.testlet.Testlet;
 
-public class setClosable implements Testlet
+public class setClosable implements Testlet, PropertyChangeListener
 {
-
-  /**
-   * Catches property changes and stores the property name.
-   */
-  class TestPropertyChangeHandler
-    implements PropertyChangeListener
+  PropertyChangeEvent lastEvent;
+  
+  public void propertyChange(PropertyChangeEvent e)
   {
-
-    public void propertyChange(PropertyChangeEvent e)
-    {
-      propertyChanged = e.getPropertyName();
-    }
-    
+    lastEvent = e;
   }
-
-  /**
-   * Stores the name of the last changed property.
-   */
-  String propertyChanged;
-
-  /**
-   * The entry point in this test.
-   *
-   * @param harness the test harness to use
-   */
+  
   public void test(TestHarness harness)
   {
-    testBoundProperty(harness);
-  }
-
-  /**
-   * Tests if this is a bound property.
-   *
-   * @param h the test harness to use
-   */
-  private void testBoundProperty(TestHarness h)
-  {
-    h.checkPoint("testBoundProperty");
-    JInternalFrame t = new JInternalFrame();
-    t.addPropertyChangeListener(new TestPropertyChangeHandler());
-    t.setClosable(false);
-    propertyChanged = null;
-    t.setClosable(true);
-    h.check(propertyChanged, "closable");
+    JInternalFrame f = new JInternalFrame("F1");
+    harness.check(!f.isClosable());
+    f.addPropertyChangeListener(this);
+    f.setClosable(true);
+    harness.check(f.isClosable());
+    harness.check(lastEvent.getPropertyName(), "closable");
+    harness.check(lastEvent.getSource(), f);
+    harness.check(lastEvent.getOldValue(), Boolean.FALSE);
+    harness.check(lastEvent.getNewValue(), Boolean.TRUE);
   }
 }
Index: gnu/testlet/javax/swing/JInternalFrame/setIconifiable.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JInternalFrame/setIconifiable.java,v
retrieving revision 1.1
diff -u -r1.1 setIconifiable.java
--- gnu/testlet/javax/swing/JInternalFrame/setIconifiable.java	15 Mar 2006 14:28:14 -0000	1.1
+++ gnu/testlet/javax/swing/JInternalFrame/setIconifiable.java	31 May 2006 13:41:21 -0000
@@ -1,5 +1,6 @@
 /* setIconifiable.java -- Checks the setIconifiable method
    Copyright (C) 2006 Roman Kennke (kennke@aicas.com)
+       and David Gilbert <david.gilbert@object-refinery.com>
 This file is part of Mauve.
 
 Mauve is free software; you can redistribute it and/or modify
@@ -31,51 +32,25 @@
 import gnu.testlet.TestHarness;
 import gnu.testlet.Testlet;
 
-public class setIconifiable implements Testlet
+public class setIconifiable implements Testlet, PropertyChangeListener
 {
-
-  /**
-   * Catches property changes and stores the property name.
-   */
-  class TestPropertyChangeHandler
-    implements PropertyChangeListener
+  PropertyChangeEvent lastEvent;
+  
+  public void propertyChange(PropertyChangeEvent e)
   {
-
-    public void propertyChange(PropertyChangeEvent e)
-    {
-      propertyChanged = e.getPropertyName();
-    }
-    
+    lastEvent = e;
   }
-
-  /**
-   * Stores the name of the last changed property.
-   */
-  String propertyChanged;
-
-  /**
-   * The entry point in this test.
-   *
-   * @param harness the test harness to use
-   */
+  
   public void test(TestHarness harness)
   {
-    testBoundProperty(harness);
-  }
-
-  /**
-   * Tests if this is a bound property.
-   *
-   * @param h the test harness to use
-   */
-  private void testBoundProperty(TestHarness h)
-  {
-    h.checkPoint("testBoundProperty");
-    JInternalFrame t = new JInternalFrame();
-    t.addPropertyChangeListener(new TestPropertyChangeHandler());
-    t.setIconifiable(false);
-    propertyChanged = null;
-    t.setIconifiable(true);
-    h.check(propertyChanged, "iconable");
+    JInternalFrame f = new JInternalFrame("F1");
+    harness.check(!f.isIconifiable());
+    f.addPropertyChangeListener(this);
+    f.setIconifiable(true);
+    harness.check(f.isIconifiable());
+    harness.check(lastEvent.getPropertyName(), "iconable");
+    harness.check(lastEvent.getSource(), f);
+    harness.check(lastEvent.getOldValue(), Boolean.FALSE);
+    harness.check(lastEvent.getNewValue(), Boolean.TRUE);
   }
 }
Index: gnu/testlet/javax/swing/JInternalFrame/setResizable.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JInternalFrame/setResizable.java,v
retrieving revision 1.1
diff -u -r1.1 setResizable.java
--- gnu/testlet/javax/swing/JInternalFrame/setResizable.java	15 Mar 2006 14:28:14 -0000	1.1
+++ gnu/testlet/javax/swing/JInternalFrame/setResizable.java	31 May 2006 13:41:22 -0000
@@ -1,5 +1,6 @@
 /* setResizable.java -- Checks the setResizable method
    Copyright (C) 2006 Roman Kennke (kennke@aicas.com)
+       and David Gilbert <david.gilbert@object-refinery.com>
 This file is part of Mauve.
 
 Mauve is free software; you can redistribute it and/or modify
@@ -31,51 +32,25 @@
 import gnu.testlet.TestHarness;
 import gnu.testlet.Testlet;
 
-public class setResizable implements Testlet
+public class setResizable implements Testlet, PropertyChangeListener
 {
-
-  /**
-   * Catches property changes and stores the property name.
-   */
-  class TestPropertyChangeHandler
-    implements PropertyChangeListener
+  PropertyChangeEvent lastEvent;
+  
+  public void propertyChange(PropertyChangeEvent e)
   {
-
-    public void propertyChange(PropertyChangeEvent e)
-    {
-      propertyChanged = e.getPropertyName();
-    }
-    
+    lastEvent = e;
   }
-
-  /**
-   * Stores the name of the last changed property.
-   */
-  String propertyChanged;
-
-  /**
-   * The entry point in this test.
-   *
-   * @param harness the test harness to use
-   */
+  
   public void test(TestHarness harness)
   {
-    testBoundProperty(harness);
-  }
-
-  /**
-   * Tests if this is a bound property.
-   *
-   * @param h the test harness to use
-   */
-  private void testBoundProperty(TestHarness h)
-  {
-    h.checkPoint("testBoundProperty");
-    JInternalFrame t = new JInternalFrame();
-    t.addPropertyChangeListener(new TestPropertyChangeHandler());
-    t.setResizable(false);
-    propertyChanged = null;
-    t.setResizable(true);
-    h.check(propertyChanged, "resizable");
+    JInternalFrame f = new JInternalFrame("F1");
+    harness.check(!f.isResizable());
+    f.addPropertyChangeListener(this);
+    f.setResizable(true);
+    harness.check(f.isResizable());
+    harness.check(lastEvent.getPropertyName(), "resizable");
+    harness.check(lastEvent.getSource(), f);
+    harness.check(lastEvent.getOldValue(), Boolean.FALSE);
+    harness.check(lastEvent.getNewValue(), Boolean.TRUE);
   }
 }
Index: gnu/testlet/javax/swing/JInternalFrame/setSelected2.java
===================================================================
RCS file: gnu/testlet/javax/swing/JInternalFrame/setSelected2.java
diff -N gnu/testlet/javax/swing/JInternalFrame/setSelected2.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JInternalFrame/setSelected2.java	31 May 2006 13:41:22 -0000
@@ -0,0 +1,141 @@
+/* setSelected2.java -- some checks for the setSelected() method in the
+       JInternalFrame class.
+   Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+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.
+
+*/
+
+// Tags: JDK1.2
+
+package gnu.testlet.javax.swing.JInternalFrame;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyVetoException;
+import java.beans.VetoableChangeListener;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.JInternalFrame;
+import javax.swing.event.InternalFrameEvent;
+import javax.swing.event.InternalFrameListener;
+
+public class setSelected2 
+  implements Testlet, PropertyChangeListener, VetoableChangeListener,
+      InternalFrameListener
+{
+  PropertyChangeEvent lastEvent;
+  
+  PropertyChangeEvent lastVetoableEvent;
+  
+  List events = new ArrayList();
+  
+  public void propertyChange(PropertyChangeEvent event)
+  {
+    lastEvent = event;
+  }
+  
+  public void vetoableChange(PropertyChangeEvent event)
+  {
+    lastVetoableEvent = event;
+  }
+  
+  public void test(TestHarness harness)
+  {
+    JInternalFrame f = new JInternalFrame("F1");
+    harness.check(!f.isSelected());
+    f.addVetoableChangeListener(this);
+    f.addPropertyChangeListener(this);
+    f.addInternalFrameListener(this);
+    try
+      {
+        f.setSelected(true);
+      }
+    catch (PropertyVetoException e)
+      {
+        e.printStackTrace();
+      }
+    harness.check(f.isSelected());
+    
+    // check the vetoable event
+    harness.check(lastVetoableEvent.getPropertyName(), 
+            JInternalFrame.IS_SELECTED_PROPERTY);
+    harness.check(lastEvent.getSource(), f);
+    harness.check(lastEvent.getOldValue(), Boolean.FALSE);
+    harness.check(lastEvent.getNewValue(), Boolean.TRUE);
+    
+    harness.check(lastEvent.getPropertyName(), 
+            JInternalFrame.IS_SELECTED_PROPERTY);
+    harness.check(lastEvent.getSource(), f);
+    harness.check(lastEvent.getOldValue(), Boolean.FALSE);
+    harness.check(lastEvent.getNewValue(), Boolean.TRUE);
+    
+    harness.check(events.size(), 1);
+    InternalFrameEvent event = (InternalFrameEvent) events.get(0);
+    harness.check(event.getSource(), f);
+    harness.check(event.getID(), InternalFrameEvent.INTERNAL_FRAME_DEACTIVATED);
+    
+    // set selected to true
+    events.clear();
+    try
+      {
+        f.setSelected(true);
+      }
+    catch (PropertyVetoException e)
+      {
+        // ignore  
+      }
+    harness.check(f.isSelected());
+    harness.check(events.size(), 1);
+    event = (InternalFrameEvent) events.get(0);
+    harness.check(event.getSource(), f);
+    harness.check(event.getID(), InternalFrameEvent.INTERNAL_FRAME_ACTIVATED);
+    
+  }
+
+  public void internalFrameActivated(InternalFrameEvent event) {
+    events.add(event);  
+  }
+
+  public void internalFrameClosed(InternalFrameEvent event) {
+    events.add(event);  
+  }
+
+  public void internalFrameClosing(InternalFrameEvent event) {
+    events.add(event);  
+  }
+
+  public void internalFrameDeactivated(InternalFrameEvent event) {
+    events.add(event);  
+  }
+
+  public void internalFrameDeiconified(InternalFrameEvent event) {
+    events.add(event);  
+  }
+
+  public void internalFrameIconified(InternalFrameEvent event) {
+    events.add(event);  
+  }
+
+  public void internalFrameOpened(InternalFrameEvent event) {
+    events.add(event);  
+  }
+}

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