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.setDisplayedMnemonic() tests updated


This patch (committed) updates the tests I committed earlier to cover a few additional cases:

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

	* gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java:
	(displayedMnemonicWhenEventFired): New field,
	(propertyChange): Record mnemonic value at time of event,
	(testMethod1): Check mnemonic at event time,
	(testMethod2): Added new checks,
	* gnu/testlet/javax/swing/JLabel/setDisplayedMnemonicIndex.java:
	(propertyChange): Only record index for a specific event,
	(test): Added new checks.

Regards,

Dave
Index: gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java,v
retrieving revision 1.1
diff -u -r1.1 setDisplayedMnemonic.java
--- gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java	22 Jun 2006 08:46:31 -0000	1.1
+++ gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java	22 Jun 2006 09:54:44 -0000
@@ -38,9 +38,17 @@
 
   List events = new java.util.ArrayList();
   
+  int displayedMnemonicWhenEventFired;
+  
   public void propertyChange(PropertyChangeEvent e) 
   {
     events.add(e);
+    if (e.getPropertyName().equals("displayedMnemonic") 
+            && e.getSource() instanceof JLabel)
+    {
+      JLabel label = (JLabel) e.getSource();
+      displayedMnemonicWhenEventFired = label.getDisplayedMnemonic();
+    }
   }
 
   public void test(TestHarness harness) 
@@ -58,6 +66,7 @@
     harness.check(label.getDisplayedMnemonic(), 68);
     harness.check(label.getDisplayedMnemonicIndex(), 4);
     harness.check(events.size(), 2);
+    harness.check(displayedMnemonicWhenEventFired, 68);
     PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0);
     harness.check(e0.getSource(), label);
     harness.check(e0.getPropertyName(), "displayedMnemonic");
@@ -90,6 +99,40 @@
   public void testMethod2(TestHarness harness) 
   {
     harness.checkPoint("(int)");
+    events.clear();
     JLabel label = new JLabel("Abc Def");
+    label.addPropertyChangeListener(this);
+    label.setDisplayedMnemonic(68);
+    harness.check(label.getDisplayedMnemonic(), 68);
+    harness.check(label.getDisplayedMnemonicIndex(), 4);
+    harness.check(events.size(), 2);
+    harness.check(displayedMnemonicWhenEventFired, 68);
+    PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0);
+    harness.check(e0.getSource(), label);
+    harness.check(e0.getPropertyName(), "displayedMnemonic");
+    harness.check(e0.getOldValue(), new Integer(0));
+    harness.check(e0.getNewValue(), new Integer(68));
+    PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(1);
+    harness.check(e1.getSource(), label);
+    harness.check(e1.getPropertyName(), "displayedMnemonicIndex");
+    harness.check(e1.getOldValue(), new Integer(-1));
+    harness.check(e1.getNewValue(), new Integer(4));
+    
+    // try a character that isn't in the text
+    events.clear();
+    label.setDisplayedMnemonic(90);
+    harness.check(label.getDisplayedMnemonic(), 90);
+    harness.check(label.getDisplayedMnemonicIndex(), -1);
+    harness.check(events.size(), 2);
+    e0 = (PropertyChangeEvent) events.get(0);
+    harness.check(e0.getSource(), label);
+    harness.check(e0.getPropertyName(), "displayedMnemonic");
+    harness.check(e0.getOldValue(), new Integer(68));
+    harness.check(e0.getNewValue(), new Integer(90));
+    e1 = (PropertyChangeEvent) events.get(1);
+    harness.check(e1.getSource(), label);
+    harness.check(e1.getPropertyName(), "displayedMnemonicIndex");
+    harness.check(e1.getOldValue(), new Integer(4));
+    harness.check(e1.getNewValue(), new Integer(-1));
   }
 }
Index: gnu/testlet/javax/swing/JLabel/setDisplayedMnemonicIndex.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/JLabel/setDisplayedMnemonicIndex.java,v
retrieving revision 1.1
diff -u -r1.1 setDisplayedMnemonicIndex.java
--- gnu/testlet/javax/swing/JLabel/setDisplayedMnemonicIndex.java	22 Jun 2006 08:46:31 -0000	1.1
+++ gnu/testlet/javax/swing/JLabel/setDisplayedMnemonicIndex.java	22 Jun 2006 09:54:44 -0000
@@ -43,7 +43,8 @@
   public void propertyChange(PropertyChangeEvent e) 
   {
     events.add(e);
-    if (e.getSource() instanceof JLabel)
+    if (e.getPropertyName().equals("displayedMnemonicIndex") 
+            && e.getSource() instanceof JLabel)
       {
         JLabel l = (JLabel) e.getSource();
         mnemonicIndexWhenEventFired = l.getDisplayedMnemonicIndex();
@@ -106,5 +107,33 @@
       pass = true;
     }
     harness.check(pass);
+    
+    // setting the index to zero or greater when the text is null should 
+    // generate an IllegalArgumentException
+    label.setText(null);
+    harness.check(label.getDisplayedMnemonicIndex(), -1);
+    pass = false;
+    try
+    {
+      label.setDisplayedMnemonicIndex(0);
+    }
+    catch (IllegalArgumentException ex)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+    
+    label.setText("");
+    harness.check(label.getDisplayedMnemonicIndex(), -1);
+    pass = false;
+    try
+    {
+      label.setDisplayedMnemonicIndex(0);
+    }
+    catch (IllegalArgumentException ex)
+    {
+      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]