jdk/test/java/awt/Mixing/AWT_Mixing/SimpleOverlappingTestBase.java
author ihse
Tue, 09 May 2017 12:57:30 +0200
changeset 45028 b0ea3c0bfb81
parent 44776 5fcc7728c117
permissions -rw-r--r--
8179889: Fix typographic errors in copyright headers Reviewed-by: erikj, dholmes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
24539
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
     1
/*
45028
b0ea3c0bfb81 8179889: Fix typographic errors in copyright headers
ihse
parents: 44776
diff changeset
     2
 * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
24539
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
     4
 *
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
     7
 * published by the Free Software Foundation.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
     8
 *
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    13
 * accompanied this code).
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    14
 *
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    18
 *
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    21
 * questions.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    22
 */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    23
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    24
import java.awt.*;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    25
import java.awt.event.*;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    26
import javax.swing.*;
25129
3961e8fcb668 8044157: [TEST_BUG] Improve recently submitted AWT_Mixing tests
yan
parents: 24539
diff changeset
    27
import test.java.awt.regtesthelpers.Util;
24539
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    28
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    29
/**
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    30
 * Base class for testing overlapping of Swing and AWT component put into one frame.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    31
 * Validates drawing and event delivery at the components intersection.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    32
 * <p> See base class for usage
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    33
 *
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    34
 * @author Sergey Grinev
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    35
*/
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    36
public abstract class SimpleOverlappingTestBase extends OverlappingTestBase {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    37
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    38
    {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    39
        testEmbeddedFrame = true;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    40
    }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    41
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    42
    /**
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    43
     * Event delivery validation. If set to true (default) tested lightweight component will be provided
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    44
     * with mouse listener which should be called in order for test to pass.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    45
     */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    46
    protected final boolean useDefaultClickValidation;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    47
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    48
    /**
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    49
     * Constructor which sets {@link SimpleOverlappingTestBase#useDefaultClickValidation }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    50
     * @param defaultClickValidation
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    51
     */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    52
    protected SimpleOverlappingTestBase(boolean defaultClickValidation) {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    53
        super();
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    54
        this.useDefaultClickValidation = defaultClickValidation;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    55
    }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    56
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    57
    public SimpleOverlappingTestBase() {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    58
        this(true);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    59
    }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    60
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    61
    //overridables
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    62
    /**
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    63
     * Successors override this method providing swing component for testing
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    64
     * @return swing component to test
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    65
     */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    66
    protected abstract JComponent getSwingComponent();
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    67
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    68
    /**
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    69
     * For tests debugging. Please, ignore.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    70
     */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    71
    protected static final boolean debug = false;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    72
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    73
    /**
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    74
     * Should be set to true if test isn't using {@link SimpleOverlappingTestBase#useDefaultClickValidation }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    75
     */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    76
    protected volatile boolean wasLWClicked = false;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    77
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    78
    /**
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    79
     * Current tested lightweight component
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    80
     * @see SimpleOverlappingTestBase#getSwingComponent()
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    81
     */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    82
    protected JComponent testedComponent;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    83
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    84
    /**
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    85
     * Setups simple frame with lightweight component returned by {@link SimpleOverlappingTestBase#getSwingComponent() }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    86
     * Called by base class.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    87
     */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    88
    protected void prepareControls() {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    89
        wasLWClicked = false;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    90
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    91
        final JFrame f = new JFrame("Mixing : Simple Overlapping test");
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    92
        f.setLayout(new SpringLayout());
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    93
        f.setSize(200, 200);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    94
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    95
        testedComponent = getSwingComponent();
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    96
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    97
        if (useDefaultClickValidation) {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    98
            testedComponent.addMouseListener(new MouseAdapter() {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
    99
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   100
                @Override
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   101
                public void mouseClicked(MouseEvent e) {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   102
                    wasLWClicked = true;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   103
                    f.setVisible(false);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   104
                }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   105
            });
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   106
        }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   107
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   108
        if (!debug) {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   109
            f.add(testedComponent);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   110
        } else {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   111
            System.err.println("Warning: DEBUG MODE");
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   112
        }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   113
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   114
        propagateAWTControls(f);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   115
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   116
        f.setVisible(true);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   117
    }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   118
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   119
    /**
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   120
     * AWT Robot instance. Shouldn't be used in most cases.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   121
     */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   122
    protected Robot robot;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   123
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   124
    /**
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   125
     * Run test by {@link OverlappingTestBase#clickAndBlink(java.awt.Robot, java.awt.Point) } validation for current lightweight component.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   126
     * <p>Called by base class.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   127
     * @return true if test passed
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   128
     */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   129
    protected boolean performTest() {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   130
        testedComponent.requestFocus();
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   131
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   132
        // run robot
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   133
        robot = Util.createRobot();
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   134
        robot.setAutoDelay(20);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   135
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   136
        // get coord
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   137
        Point lLoc = !debug ? testedComponent.getLocationOnScreen() : new Point(70, 30);
28087
622b2f420bc3 8063104: Change open awt regression tests to avoid sun.awt.SunToolkit.realSync, part 2
yan
parents: 25129
diff changeset
   138
        Util.waitForIdle(robot);
24539
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   139
        /* this is a workaround for certain jtreg(?) focus issue:
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   140
           tests fail starting after failing mixing tests but always pass alone.
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   141
         */
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   142
        JFrame ancestor = (JFrame)(testedComponent.getTopLevelAncestor());
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   143
        if( ancestor != null ) {
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   144
            Point ancestorLoc = ancestor.getLocationOnScreen();
44776
5fcc7728c117 8081454: [TESTBUG]Some java/awt/Mixing tests fail in OEL 7 only
ssadetsky
parents: 28087
diff changeset
   145
            ancestorLoc.translate(isOel7() ? 5 :
5fcc7728c117 8081454: [TESTBUG]Some java/awt/Mixing tests fail in OEL 7 only
ssadetsky
parents: 28087
diff changeset
   146
                                             ancestor.getWidth() / 2 - 15, 2);
24539
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   147
            robot.mouseMove(ancestorLoc.x, ancestorLoc.y);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   148
            Util.waitForIdle(robot);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   149
            robot.mousePress(InputEvent.BUTTON1_MASK);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   150
            robot.delay(50);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   151
            robot.mouseRelease(InputEvent.BUTTON1_MASK);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   152
            Util.waitForIdle(robot);
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   153
        }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   154
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   155
        clickAndBlink(robot, lLoc);
28087
622b2f420bc3 8063104: Change open awt regression tests to avoid sun.awt.SunToolkit.realSync, part 2
yan
parents: 25129
diff changeset
   156
        Util.waitForIdle(robot);
24539
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   157
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   158
        return wasLWClicked;
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   159
    }
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   160
44776
5fcc7728c117 8081454: [TESTBUG]Some java/awt/Mixing tests fail in OEL 7 only
ssadetsky
parents: 28087
diff changeset
   161
    public boolean isOel7() {
5fcc7728c117 8081454: [TESTBUG]Some java/awt/Mixing tests fail in OEL 7 only
ssadetsky
parents: 28087
diff changeset
   162
        return System.getProperty("os.name").toLowerCase()
5fcc7728c117 8081454: [TESTBUG]Some java/awt/Mixing tests fail in OEL 7 only
ssadetsky
parents: 28087
diff changeset
   163
                .contains("linux") && System.getProperty("os.version")
5fcc7728c117 8081454: [TESTBUG]Some java/awt/Mixing tests fail in OEL 7 only
ssadetsky
parents: 28087
diff changeset
   164
                .toLowerCase().contains("el7");
5fcc7728c117 8081454: [TESTBUG]Some java/awt/Mixing tests fail in OEL 7 only
ssadetsky
parents: 28087
diff changeset
   165
    }
5fcc7728c117 8081454: [TESTBUG]Some java/awt/Mixing tests fail in OEL 7 only
ssadetsky
parents: 28087
diff changeset
   166
24539
f0250a79028b 8041592: [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
yan
parents:
diff changeset
   167
}