6609607: test/closed/java/awt/Focus/AppletInitialFocusTest should be rewritten
authorant
Wed, 26 Mar 2008 16:56:40 +0300
changeset 424 c090ad2f18f2
parent 423 1c607ab74068
child 425 89b44fab010f
6609607: test/closed/java/awt/Focus/AppletInitialFocusTest should be rewritten Summary: Using test.java.awt.regtesthelpers.Util. Refactoring. Reviewed-by: volk
jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html
jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.java
jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html
jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java
--- a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html	Wed Mar 26 16:20:01 2008 +0300
+++ b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html	Wed Mar 26 16:56:40 2008 +0300
@@ -1,11 +1,12 @@
 <html>
-<!--  
-  test
+<!--
+  @test
   @bug 4041703 4096228 4025223 4260929
-  @summary Ensures that appletviewer sets a reasonable default focus
-           for an Applet on start
+  @summary Ensures that appletviewer sets a reasonable default focus for an Applet on start
   @author  das area=appletviewer
-  @run shell AppletInitialFocusTest.sh
+  @library ../../regtesthelpers
+  @build   Util
+  @run applet AppletInitialFocusTest.html
   -->
 <head>
 <title> AppletInitialFocusTest </title>
--- a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.java	Wed Mar 26 16:20:01 2008 +0300
+++ b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.java	Wed Mar 26 16:56:40 2008 +0300
@@ -23,81 +23,37 @@
 
 /*
   test
-  @bug 4041703 4096228 4025223 4260929
-  @summary Ensures that appletviewer sets a reasonable default focus
-           for an Applet on start
+  @bug     4041703 4096228 4025223 4260929
+  @summary Ensures that appletviewer sets a reasonable default focus for an Applet on start
   @author  das area=appletviewer
-  @run shell AppletInitialFocusTest.sh
+  @run     applet AppletInitialFocusTest.html
 */
 
 import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-
-class MyKeyboardFocusManager extends DefaultKeyboardFocusManager {
-    public Window getGlobalFocusedWindow() {
-        return super.getGlobalFocusedWindow();
-    }
-}
+import java.awt.Button;
+import java.awt.Component;
+import java.awt.Robot;
+import java.awt.Window;
+import test.java.awt.regtesthelpers.Util;
 
 public class AppletInitialFocusTest extends Applet {
-
-    Window window;
+    Robot robot = Util.createRobot();
     Button button = new Button("Button");
-    MyKeyboardFocusManager manager = new MyKeyboardFocusManager();
-
-    Object lock = new Object();
 
     public void init() {
-        KeyboardFocusManager.setCurrentKeyboardFocusManager(manager);
-
-        Component parent = this;
-        while (parent != null && !(parent instanceof Window)) {
-            parent = parent.getParent();
-        }
-        /*
-         * This applet is designed to be run only with appletviewer,
-         * so there always should be a toplevel frame.
-         */
-        if (parent == null) {
-            synchronized (lock) {
-                System.err.println("appletviewer not running");
-                System.exit(3);
-            }
-        }
-        window = (Window)parent;
-
-        button.addFocusListener(new FocusAdapter() {
-            public void focusGained(FocusEvent e) {
-                synchronized (lock) {
-                    System.err.println("passed");
-                    System.exit(0);
-                }
-            }
-        });
         add(button);
     }
 
     public void start() {
-        Thread thread = new Thread(new Runnable() {
-            public void run() {
-                try {
-                    Thread.sleep(1000);
-                    synchronized (lock) {
-                        Window focused = manager.getGlobalFocusedWindow();
-                        if (window == focused) {
-                            System.err.println("failed");
-                            System.exit(2);
-                        } else {
-                            System.err.println("window never activated");
-                            System.err.println(focused);
-                            System.exit(0);
-                        }
+        new Thread(new Runnable() {
+                public void run() {
+                    Util.waitTillShown(button);
+                    robot.delay(1000); // delay the thread to let EDT to start dispatching focus events
+                    Util.waitForIdle(robot);
+                    if (!button.hasFocus()) {
+                        throw new RuntimeException("Appletviewer doesn't set default focus correctly.");
                     }
-                } catch(InterruptedException e) {
                 }
-            }
-        });
-        thread.start();
+            }).start();
     }
 }
--- a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html	Wed Mar 26 16:20:01 2008 +0300
+++ b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html	Wed Mar 26 16:56:40 2008 +0300
@@ -1,11 +1,13 @@
 <html>
-<!--  
-  test
+<!--
+  @test
   @bug 4411534 4517274
   @summary ensures that user's requestFocus() during applet initialization
            is not ignored
   @author  prs area=appletviewer
-  @run shell AppletInitialFocusTest1.sh
+  @library ../../regtesthelpers
+  @build   Util
+  @run applet AppletInitialFocusTest1.html
   -->
 <head>
 <title> AppletInitialFocusTest1 </title>
--- a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java	Wed Mar 26 16:20:01 2008 +0300
+++ b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java	Wed Mar 26 16:56:40 2008 +0300
@@ -1,32 +1,9 @@
 /*
- * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-/*
-  test
+  test %W% %E%
   @bug 4411534 4517274
   @summary ensures that user's requestFocus() during applet initialization
            is not ignored.
-  @author  prs area=appletviewer
+  @author  prs@sparc.spb.su area=appletviewer
   @run shell AppletInitialFocusTest1.sh
 */