From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28894 invoked by alias); 22 Jun 2006 16:11:31 -0000 Received: (qmail 28882 invoked by uid 22791); 22 Jun 2006 16:11:29 -0000 X-Spam-Check-By: sourceware.org Received: from outmail128157.authsmtp.net (HELO outmail128157.authsmtp.net) (62.13.128.157) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 22 Jun 2006 16:11:22 +0000 Received: from [192.168.1.32] (host217-37-65-246.in-addr.btopenworld.com [217.37.65.246]) (authenticated bits=0) by squirrel.dmpriest.net.uk (8.13.6/8.13.6/Kp) with ESMTP id k5MGBGxe074252 for ; Thu, 22 Jun 2006 17:11:16 +0100 (BST) Message-ID: <449AC126.9020401@object-refinery.com> Date: Thu, 22 Jun 2006 16:11:00 -0000 From: David Gilbert User-Agent: Mozilla Thunderbird 1.0.8 (X11/20060502) MIME-Version: 1.0 To: mauve-patches Subject: FYI: JLabel tests Content-Type: multipart/mixed; boundary="------------090002090404070907000204" X-Server-Quench: bc85c365-0209-11db-b770-001185d377ca X-AuthRoute: OCdyYgsUB1ZZRRob BmULDStKRB85DhpG AxIIMU5ALVQIUwlL IwBRKV9FNVQBW1wc QzdPCAwBEy0yBiY3 OF8Sc0cINhIfGxs5 DxUHQFBNbkA2Hh4B BhgOUx54dgRMeXk+ Z0dlQHNcQkJ/a0R5 RFFWEHIGKzxlFRdt JwgNdwRQcgZIMB1H Y1N2GiFeaWBUZXxl WldpZ2F0ZGxTImFf HV5VaApKGB9bQzJn GE8JFCMBLGxXDwcX JhYrLhYAEV0NKS00 X-Authentic-SMTP: 61633132333134.squirrel.dmpriest.net.uk:1.55/Kp X-Report-SPAM: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-Virus-Status: No virus detected - but ensure you scan with your own anti-virus system! X-IsSubscribed: yes Mailing-List: contact mauve-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: mauve-patches-owner@sourceware.org X-SW-Source: 2006/txt/msg00457.txt.bz2 This is a multi-part message in MIME format. --------------090002090404070907000204 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1072 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 * 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 --------------090002090404070907000204 Content-Type: text/plain; name="diff.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diff.txt" Content-length: 21076 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 +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 +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 +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 +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 +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); + } + +} --------------090002090404070907000204--