This is the mail archive of the
mauve-patches@sourceware.org
mailing list for the Mauve project.
FYI: JLabel.setDisplayedMnemonic() tests updated
- From: David Gilbert <david dot gilbert at object-refinery dot com>
- To: mauve-patches <mauve-patches at sources dot redhat dot com>
- Date: Thu, 22 Jun 2006 11:00:25 +0100
- Subject: 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);
}
}