6920143: test/java/awt/TestArea/UsingWithMouse.java needs realSync()
authorptisnovs
Wed, 27 Jan 2010 17:47:53 +0100
changeset 4815 228652bbd0b9
parent 4814 dbf72872f8d2
child 4816 43cbf9b15169
6920143: test/java/awt/TestArea/UsingWithMouse.java needs realSync() Summary: Added small delay to make sure that TextArea animation have finished Reviewed-by: anthony
jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java
--- a/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java	Wed Jan 27 16:11:53 2010 +0000
+++ b/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java	Wed Jan 27 17:47:53 2010 +0100
@@ -56,6 +56,7 @@
     TextArea textArea;
     Robot robot;
     final int desiredSelectionEnd = ('z'-'a'+1)*2;  // 52
+    final static int SCROLL_DELAY = 10; // ms
 
     public void start () {
         createObjects();
@@ -126,6 +127,8 @@
 
             moveMouseBelowTextArea( tremble%2!=0 );
             Util.waitForIdle( robot );
+            // it is needed to add some small delay on Gnome
+            waitUntilScrollIsPerformed(robot);
         }
 
         robot.mouseRelease( MouseEvent.BUTTON1_MASK );
@@ -141,9 +144,19 @@
     void moveMouseBelowTextArea( boolean shift ) {
         Dimension d = textArea.getSize();
         Point l = textArea.getLocationOnScreen();
+        int x = (int)(l.x+d.width*.5);
         int y = (int)(l.y+d.height*1.5);
         if( shift ) y+=15;
-        robot.mouseMove( (int)(l.x+d.width*.5), y );
+        robot.mouseMove( x, y );
+    }
+
+    void waitUntilScrollIsPerformed(Robot robot) {
+        try {
+            Thread.sleep( SCROLL_DELAY );
+        }
+        catch( Exception e ) {
+            throw new RuntimeException( e );
+        }
     }
 
     void checkResults() {