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: JLabel tests


This patch (committed) contains new tests for the JLabel class, which I've been working on today. There are still a few failures, but most of the problems have been fixed. I'm checking in the tests in case someone wants to clean up the remaining bugs before I get a chance:

2006-06-22 David Gilbert <david.gilbert@object-refinery.com>

   * gnu/testlet/javax/swing/JLabel/getActionMap.java: New file,
   * gnu/testlet/javax/swing/JLabel/getInputMap.java
   (testMethod2): Added new checks,
   * gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java
   (testKeyMap): New method,
   * gnu/testlet/javax/swing/JLabel/setFont.java: New file,
   * gnu/testlet/javax/swing/JLabel/setHorizontalAlignment.java: New file,
   * gnu/testlet/javax/swing/JLabel/setIconTextGap.java: New file,
   * gnu/testlet/javax/swing/JLabel/setText.java
   (events): New field,
   (propertyChange): New method,
   (testGeneral): New method,
   (testGeneralWithMnemonic): New method,
   * gnu/testlet/javax/swing/JLabel/setVerticalAlignment.java: New file.

Regards,

Dave
Index: gnu/testlet/javax/swing/JLabel/getActionMap.java
===================================================================
RCS file: gnu/testlet/javax/swing/JLabel/getActionMap.java
diff -N gnu/testlet/javax/swing/JLabel/getActionMap.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JLabel/getActionMap.java	22 Jun 2006 16:03:53 -0000
@@ -0,0 +1,61 @@
+/* getActionMap.java -- some checks for the getActionMap() method in the
+       JLabel 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.3
+
+package gnu.testlet.javax.swing.JLabel;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import javax.swing.ActionMap;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+
+public class getActionMap implements Testlet
+{
+  public void test(TestHarness harness)
+  {
+    // this is the original version of the test - it shows no actions for
+    // a regular label...
+    JLabel label = new JLabel("XYZ");
+    ActionMap m = label.getActionMap();
+    harness.check(m.keys(), null);
+    ActionMap mp = m.getParent();
+    harness.check(mp, null);
+    
+    // but then I remembered that when a label has a mnemonic and target 
+    // component, you can get the focus for the target component via the 
+    // keyboard
+    JLabel label2 = new JLabel("ABC");
+    JButton button = new JButton("Target");
+    label2.setLabelFor(button);
+    label2.setDisplayedMnemonic('A');
+    
+    m = label2.getActionMap();
+    harness.check(m.keys(), null);
+    mp = m.getParent();
+    harness.check(mp.size(), 2);
+    harness.check(mp.get("press") != null);
+    harness.check(mp.get("release") != null);
+  }
+}
Index: gnu/testlet/javax/swing/JLabel/getInputMap.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JLabel/getInputMap.java,v
retrieving revision 1.1
diff -u -r1.1 getInputMap.java
--- gnu/testlet/javax/swing/JLabel/getInputMap.java	7 Jun 2006 09:45:53 -0000	1.1
+++ gnu/testlet/javax/swing/JLabel/getInputMap.java	22 Jun 2006 16:03:53 -0000
@@ -28,8 +28,10 @@
 import gnu.testlet.Testlet;
 
 import javax.swing.InputMap;
+import javax.swing.JButton;
 import javax.swing.JComponent;
 import javax.swing.JLabel;
+import javax.swing.KeyStroke;
 
 /**
  * Checks the input maps defined for a JLabel - this is really testing
@@ -67,5 +69,25 @@
     InputMap m3 = label.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
     harness.check(m3.keys(), null);
     harness.check(m3.getParent(), null);
+
+    // now make a label that is the label for a component
+    JLabel label2 = new JLabel("Test");
+    JButton button = new JButton("Target");
+    label2.setLabelFor(button);
+    label2.setDisplayedMnemonic('A');
+
+    m1 = label2.getInputMap(JComponent.WHEN_FOCUSED);
+    harness.check(m1.keys(), null);
+    m1p = m1.getParent();
+    harness.check(m1p, null);
+    m2 = label2.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);   
+    harness.check(m2.keys(), null);
+    harness.check(m2.getParent(), null);
+    m3 = label2.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
+    harness.check(m3.keys(), null);
+    InputMap m3p = m3.getParent();
+    harness.check(m3p.get(KeyStroke.getKeyStroke("alt pressed A")), "press");
+    label2.setDisplayedMnemonic('B');
+    harness.check(m3p.get(KeyStroke.getKeyStroke("alt pressed B")), "press");
   }
 }
Index: gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java,v
retrieving revision 1.2
diff -u -r1.2 setDisplayedMnemonic.java
--- gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java	22 Jun 2006 09:59:15 -0000	1.2
+++ gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java	22 Jun 2006 16:03:53 -0000
@@ -27,11 +27,16 @@
 import gnu.testlet.TestHarness;
 import gnu.testlet.Testlet;
 
+import java.awt.event.KeyEvent;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.util.List;
 
+import javax.swing.InputMap;
+import javax.swing.JButton;
+import javax.swing.JComponent;
 import javax.swing.JLabel;
+import javax.swing.KeyStroke;
 
 public class setDisplayedMnemonic implements Testlet, PropertyChangeListener
 {
@@ -55,6 +60,7 @@
   {
     testMethod1(harness);
     testMethod2(harness);
+    testKeyMap(harness);
   }
   
   public void testMethod1(TestHarness harness) 
@@ -135,4 +141,17 @@
     harness.check(e1.getOldValue(), new Integer(4));
     harness.check(e1.getNewValue(), new Integer(-1));
   }
+  
+  public void testKeyMap(TestHarness harness)
+  {
+    JLabel label = new JLabel("ABC");
+    label.setDisplayedMnemonic('B');
+    InputMap m = label.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
+    harness.check(m.get(KeyStroke.getKeyStroke(KeyEvent.VK_B, 
+            KeyEvent.ALT_DOWN_MASK)), null);
+    label.setLabelFor(new JButton());
+    m = label.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
+    harness.check(m.get(KeyStroke.getKeyStroke(KeyEvent.VK_B, 
+            KeyEvent.ALT_DOWN_MASK)), "press");  
+  }
 }
Index: gnu/testlet/javax/swing/JLabel/setFont.java
===================================================================
RCS file: gnu/testlet/javax/swing/JLabel/setFont.java
diff -N gnu/testlet/javax/swing/JLabel/setFont.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JLabel/setFont.java	22 Jun 2006 16:03:53 -0000
@@ -0,0 +1,70 @@
+/* setFont.java -- some checks for the setFont() method in the JLabel 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.JLabel;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.awt.Font;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
+import javax.swing.JLabel;
+
+public class setFont implements Testlet, PropertyChangeListener
+{
+  List events = new java.util.ArrayList();
+  
+  public void propertyChange(PropertyChangeEvent e) 
+  {
+    events.add(e);
+  }
+
+  public void test(TestHarness harness) 
+  {
+    JLabel label = new JLabel("ABC");
+    label.addPropertyChangeListener(this);
+    Font f = new Font("Dialog", Font.PLAIN, 15);
+    label.setFont(f);
+    harness.check(label.getFont(), f);
+    harness.check(events.size(), 1);
+    PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0);
+    harness.check(e0.getSource(), label);
+    harness.check(e0.getPropertyName(), "font");
+    harness.check(e0.getNewValue(), f);
+    
+    // try null
+    events.clear();
+    label.setFont(null);
+    harness.check(label.getFont(), null);
+    harness.check(events.size(), 1);
+    e0 = (PropertyChangeEvent) events.get(0);
+    harness.check(e0.getSource(), label);
+    harness.check(e0.getPropertyName(), "font");
+    harness.check(e0.getOldValue(), f);
+    harness.check(e0.getNewValue(), null);
+  }
+  
+}
Index: gnu/testlet/javax/swing/JLabel/setHorizontalAlignment.java
===================================================================
RCS file: gnu/testlet/javax/swing/JLabel/setHorizontalAlignment.java
diff -N gnu/testlet/javax/swing/JLabel/setHorizontalAlignment.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JLabel/setHorizontalAlignment.java	22 Jun 2006 16:03:53 -0000
@@ -0,0 +1,72 @@
+/* setHorizontalAlignment.java -- some checks for the setHorizontalAlignment()
+       method in the JLabel 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.JLabel;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
+import javax.swing.JLabel;
+
+public class setHorizontalAlignment implements Testlet, PropertyChangeListener
+{
+  List events = new java.util.ArrayList();
+  
+  public void propertyChange(PropertyChangeEvent e) 
+  {
+    events.add(e);
+  }
+  
+  public void test(TestHarness harness) 
+  {
+    JLabel label = new JLabel("ABC");
+    harness.check(label.getHorizontalAlignment(), JLabel.LEADING);
+    label.addPropertyChangeListener(this);
+    label.setHorizontalAlignment(JLabel.RIGHT);
+    harness.check(label.getHorizontalAlignment(), JLabel.RIGHT);
+    harness.check(events.size(), 1);
+    PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0);
+    harness.check(e0.getSource(), label);
+    harness.check(e0.getPropertyName(), "horizontalAlignment");
+    harness.check(e0.getOldValue(), new Integer(JLabel.LEADING));
+    harness.check(e0.getNewValue(), new Integer(JLabel.RIGHT));
+    
+    // try a bad value
+    boolean pass = false;
+    try
+    {
+      label.setHorizontalAlignment(99);
+    }
+    catch (IllegalArgumentException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+  }
+
+}
Index: gnu/testlet/javax/swing/JLabel/setIconTextGap.java
===================================================================
RCS file: gnu/testlet/javax/swing/JLabel/setIconTextGap.java
diff -N gnu/testlet/javax/swing/JLabel/setIconTextGap.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JLabel/setIconTextGap.java	22 Jun 2006 16:03:53 -0000
@@ -0,0 +1,64 @@
+/* setIconTextGap.java -- some checks for the setIconTextGap() method in the
+       JLabel 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.JLabel;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
+import javax.swing.JLabel;
+
+public class setIconTextGap implements Testlet, PropertyChangeListener
+{
+  List events = new java.util.ArrayList();
+  int iconTextGapAtEventTime;
+  
+  public void propertyChange(PropertyChangeEvent e) 
+  {
+    events.add(e);
+    JLabel label = (JLabel) e.getSource();
+    // recording the following tells us whether the event is fired before or
+    // after the field is updated
+    iconTextGapAtEventTime = label.getIconTextGap();
+  }
+
+  public void test(TestHarness harness) {
+    JLabel label = new JLabel("ABC");
+    label.addPropertyChangeListener(this);
+    label.setIconTextGap(7);
+    harness.check(label.getIconTextGap(), 7);
+    harness.check(events.size(), 1);
+    PropertyChangeEvent e = (PropertyChangeEvent) events.get(0);
+    harness.check(e.getSource(), label);
+    harness.check(e.getPropertyName(), "iconTextGap");
+    harness.check(e.getOldValue(), new Integer(0));
+    harness.check(e.getNewValue(), new Integer(7));
+    harness.check(iconTextGapAtEventTime, 7);
+  }
+
+}
Index: gnu/testlet/javax/swing/JLabel/setText.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JLabel/setText.java,v
retrieving revision 1.1
diff -u -r1.1 setText.java
--- gnu/testlet/javax/swing/JLabel/setText.java	18 Oct 2005 15:10:05 -0000	1.1
+++ gnu/testlet/javax/swing/JLabel/setText.java	22 Jun 2006 16:03:53 -0000
@@ -23,15 +23,122 @@
 import gnu.testlet.TestHarness;
 import gnu.testlet.Testlet;
 
-public class setText implements Testlet
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
+import javax.swing.JLabel;
+
+public class setText implements Testlet, PropertyChangeListener
 {
+  List events = new java.util.ArrayList();
+
+  public void propertyChange(PropertyChangeEvent e) 
+  {
+    events.add(e);
+  }
 
   public void test(TestHarness harness)
   {
+    testGeneral(harness);
+    testGeneralWithMnemonic(harness);
     testRepaint(harness);
     testRevalidate(harness);
   }
+  
+  public void testGeneral(TestHarness harness)
+  {
+    harness.checkPoint("testGeneral()");
+    
+    // simple test 
+    JLabel label = new JLabel("ABC");
+    label.addPropertyChangeListener(this);
+    label.setText("XYZ");
+    harness.check(label.getText(), "XYZ");
+    harness.check(events.size(), 1);
+    PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0);
+    harness.check(e0.getSource(), label);
+    harness.check(e0.getPropertyName(), "text");
+    harness.check(e0.getOldValue(), "ABC");
+    harness.check(e0.getNewValue(), "XYZ");
 
+    // setting the same again should generate no event
+    events.clear();
+    label.setText("XYZ");
+    harness.check(events.size(), 0);
+    
+    // check null
+    events.clear();
+    label.setText(null);
+    harness.check(label.getText(), null);
+    harness.check(events.size(), 1);
+    e0 = (PropertyChangeEvent) events.get(0);
+    harness.check(e0.getSource(), label);
+    harness.check(e0.getPropertyName(), "text");
+    harness.check(e0.getOldValue(), "XYZ");
+    harness.check(e0.getNewValue(), null);
+    
+    // setting the same again should generate no event
+    events.clear();
+    label.setText(null);
+    harness.check(events.size(), 0);
+  }
+
+  public void testGeneralWithMnemonic(TestHarness harness)
+  {
+      harness.checkPoint("testGeneralWithMnemonic()");
+      
+      // simple test 
+      JLabel label = new JLabel("ABC");
+      label.setDisplayedMnemonic('C');
+      harness.check(label.getDisplayedMnemonicIndex(), 2);
+      events.clear();
+      label.addPropertyChangeListener(this);
+      label.setText("CAB");
+      harness.check(label.getText(), "CAB");
+      harness.check(label.getDisplayedMnemonicIndex(), 0);
+      harness.check(events.size(), 2);
+      PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0);
+      harness.check(e0.getSource(), label);
+      harness.check(e0.getPropertyName(), "text");
+      harness.check(e0.getOldValue(), "ABC");
+      harness.check(e0.getNewValue(), "CAB");
+
+      PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(1);
+      if (e1.getPropertyName().equals("html"))
+          e1 = (PropertyChangeEvent) events.get(2);
+      harness.check(e1.getSource(), label);
+      harness.check(e1.getPropertyName(), "displayedMnemonicIndex");
+      harness.check(e1.getOldValue(), new Integer(2));
+      harness.check(e1.getNewValue(), new Integer(0));
+      
+      // setting the same again should generate no event
+      events.clear();
+      label.setText("CAB");
+      harness.check(events.size(), 0);
+      
+      // check null
+      events.clear();
+      label.setText(null);
+      harness.check(label.getText(), null);
+      harness.check(label.getDisplayedMnemonicIndex(), -1);
+      harness.check(events.size(), 2);
+      e0 = (PropertyChangeEvent) events.get(0);
+      harness.check(e0.getSource(), label);
+      harness.check(e0.getPropertyName(), "text");
+      harness.check(e0.getOldValue(), "CAB");
+      harness.check(e0.getNewValue(), null);
+
+      e1 = (PropertyChangeEvent) events.get(1);
+      if (e1.getPropertyName().equals("html"))
+          e1 = (PropertyChangeEvent) events.get(2);
+      harness.check(e1.getSource(), label);
+      harness.check(e1.getPropertyName(), "displayedMnemonicIndex");
+      harness.check(e1.getOldValue(), new Integer(0));
+      harness.check(e1.getNewValue(), new Integer(-1));
+
+  }
+  
   /**
    * Tests if setText triggers a repaint. setText should trigger a
    * repaint() call whenever the actual value of the property changes.
Index: gnu/testlet/javax/swing/JLabel/setVerticalAlignment.java
===================================================================
RCS file: gnu/testlet/javax/swing/JLabel/setVerticalAlignment.java
diff -N gnu/testlet/javax/swing/JLabel/setVerticalAlignment.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JLabel/setVerticalAlignment.java	22 Jun 2006 16:03:53 -0000
@@ -0,0 +1,72 @@
+/* setVerticalAlignment.java -- some checks for the setVerticalAlignment()
+       method in the JLabel 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.JLabel;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
+import javax.swing.JLabel;
+
+public class setVerticalAlignment implements Testlet, PropertyChangeListener
+{
+  List events = new java.util.ArrayList();
+  
+  public void propertyChange(PropertyChangeEvent e) 
+  {
+    events.add(e);
+  }
+  
+  public void test(TestHarness harness) 
+  {
+    JLabel label = new JLabel("ABC");
+    harness.check(label.getVerticalAlignment(), JLabel.CENTER);
+    label.addPropertyChangeListener(this);
+    label.setVerticalAlignment(JLabel.TOP);
+    harness.check(label.getVerticalAlignment(), JLabel.TOP);
+    harness.check(events.size(), 1);
+    PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0);
+    harness.check(e0.getSource(), label);
+    harness.check(e0.getPropertyName(), "verticalAlignment");
+    harness.check(e0.getOldValue(), new Integer(JLabel.CENTER));
+    harness.check(e0.getNewValue(), new Integer(JLabel.TOP));
+    
+    // try a bad value
+    boolean pass = false;
+    try
+    {
+      label.setVerticalAlignment(99);
+    }
+    catch (IllegalArgumentException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+  }
+
+}

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