Index: gnu/testlet/java/awt/TextComponent/ignoreOldMouseEvents.java =================================================================== RCS file: gnu/testlet/java/awt/TextComponent/ignoreOldMouseEvents.java diff -N gnu/testlet/java/awt/TextComponent/ignoreOldMouseEvents.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnu/testlet/java/awt/TextComponent/ignoreOldMouseEvents.java 14 Jun 2006 16:29:23 -0000 @@ -0,0 +1,142 @@ +/* ignoreOldMouseEvents.java -- + Copyright (C) 2006 Red Hat +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.4 + +package gnu.testlet.java.awt.TextComponent; + +import gnu.testlet.TestHarness; +import gnu.testlet.Testlet; + +import java.awt.BorderLayout; +import java.awt.Event; +import java.awt.Frame; +import java.awt.Point; +import java.awt.Robot; +import java.awt.TextArea; +import java.awt.TextComponent; +import java.awt.TextField; +import java.awt.event.InputEvent; + +public class ignoreOldMouseEvents + extends Frame + implements Testlet +{ + + TextField a; + TextArea b; + TestHarness harness; + boolean mouseUp = false; + boolean mouseDown = false; + boolean mouseEnter = false; + boolean mouseExit = false; + + public void test(TestHarness harness) + { + this.harness = harness; + a = new TextField(5); + b = new TextArea(10, 10); + add(a, BorderLayout.EAST); + add(b, BorderLayout.WEST); + setSize(200,200); + show(); + + testOldMouseEvents(); + } + + public void testOldMouseEvents() + { + Robot r = harness.createRobot(); + + r.waitForIdle (); + + Point aLocScreen = a.getLocationOnScreen(); + Point aMiddle = new Point(aLocScreen.x + a.getWidth()/2, aLocScreen.y + a.getHeight()/2) ; + + r.mouseMove(aMiddle.x, aMiddle.y); + r.delay (1000); + harness.check(!mouseEnter); + mouseEnter = false; + + r.mousePress(InputEvent.BUTTON1_MASK); + r.delay (1000); + harness.check(!mouseDown); + mouseDown = false; + + r.mouseRelease(InputEvent.BUTTON1_MASK); + r.delay (1000); + harness.check(!mouseUp); + mouseUp = false; + + Point bLocScreen = b.getLocationOnScreen(); + Point bMiddle = new Point(bLocScreen.x + b.getWidth()/2, bLocScreen.y + b.getHeight()/2) ; + + r.mouseMove(bMiddle.x, bMiddle.y); + r.delay (1000); + harness.check(!mouseExit); + harness.check(!mouseEnter); + mouseEnter = false; + mouseExit = false; + + r.mousePress(InputEvent.BUTTON1_MASK); + r.delay (1000); + harness.check(!mouseDown); + mouseDown = false; + + r.mouseRelease(InputEvent.BUTTON1_MASK); + r.delay (1000); + harness.check(!mouseUp); + mouseUp = false; + + r.mouseMove(bMiddle.x*2, bMiddle.y*2); + r.delay (1000); + harness.check(!mouseExit); + mouseExit = false; + } + + public boolean mouseDown(Event evt, int x, int y) + { + if (evt.arg instanceof TextComponent) + mouseDown = true; + return false; + } + + public boolean mouseUp(Event evt, int x, int y) + { + if (evt.arg instanceof TextComponent) + mouseUp = true; + return false; + } + + public boolean mouseExit(Event evt, int x, int y) + { + if (evt.arg instanceof TextComponent) + mouseExit = true; + return false; + } + + public boolean mouseEnter(Event evt, int x, int y) + { + if (evt.arg instanceof TextComponent) + mouseEnter = true; + return false; + } +}