jdk/test/java/awt/MouseInfo/JContainerMousePositionTest.java
author ihse
Tue, 09 May 2017 12:57:30 +0200
changeset 45028 b0ea3c0bfb81
parent 44660 990445ad62ec
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:
21940
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
     1
/*
45028
b0ea3c0bfb81 8179889: Fix typographic errors in copyright headers
ihse
parents: 44660
diff changeset
     2
 * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
21940
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
     4
 *
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
     7
 * published by the Free Software Foundation.
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
     8
 *
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    13
 * accompanied this code).
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    14
 *
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    18
 *
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    21
 * questions.
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    22
 */
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    23
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    24
/*
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    25
  @test
40128
e635645d2a8a 8160974: [TESTBUG] Mark more headful tests with @key headful.
goetz
parents: 32427
diff changeset
    26
  @key headful
21940
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    27
  @summary unit test for a new method in Container class: getMousePosition(boolean)
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    28
  @author dav@sparc.spb.su: area=
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    29
  @bug 4009555
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    30
  @run main JContainerMousePositionTest
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    31
*/
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    32
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    33
import javax.swing.*;
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    34
import java.awt.*;
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    35
import java.util.concurrent.atomic.AtomicReference;
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    36
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    37
// this test looks at mouse pointer when it
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    38
// 1 over component
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    39
// 2 over Container, but not over one of its child Components.
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    40
// out of bounds of Container
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    41
// two values of paramater allowChildren are considered.
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    42
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    43
public class JContainerMousePositionTest {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    44
    //Declare things used in the test, like buttons and labels here
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    45
    private static JButton jButton1;
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    46
    private static JButton jButton4;
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    47
    private static JFrame frame1;
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    48
    private static Container contentPane;
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    49
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    50
    public static void main(final String[] args) throws Exception {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    51
        Robot robot = new Robot();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    52
        robot.setAutoDelay(200);
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    53
        robot.setAutoWaitForIdle(true);
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    54
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    55
        SwingUtilities.invokeAndWait(JContainerMousePositionTest::init);
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    56
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    57
        robot.delay(500);
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    58
        robot.waitForIdle();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    59
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    60
        AtomicReference<Point> centerC4 = new AtomicReference<>();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    61
        SwingUtilities.invokeAndWait(() -> {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    62
            centerC4.set(jButton4.getLocation());
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    63
            contentPane.remove(jButton4);
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    64
            contentPane.validate();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    65
            contentPane.repaint();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    66
        });
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    67
        robot.waitForIdle();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    68
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    69
        AtomicReference<Rectangle> frameBounds = new AtomicReference<>();
44660
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
    70
        AtomicReference<Insets> frameInsets = new AtomicReference<>();
21940
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    71
        AtomicReference<Dimension> button1Size = new AtomicReference<>();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    72
        SwingUtilities.invokeAndWait(() -> {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    73
            frameBounds.set(frame1.getBounds());
44660
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
    74
            frameInsets.set(frame1.getInsets());
21940
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    75
            button1Size.set(jButton1.getSize());
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    76
        });
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    77
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    78
//point mouse to center of top-left Component (button1)
44660
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
    79
        robot.mouseMove(frameBounds.get().x + frameInsets.get().left +
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
    80
                                                    button1Size.get().width / 2,
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
    81
                        frameBounds.get().y + frameInsets.get().top +
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
    82
                                                  button1Size.get().height / 2);
21940
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    83
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    84
        AtomicReference<Point> pFalse = new AtomicReference<>();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    85
        AtomicReference<Point> pTrue = new AtomicReference<>();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    86
        SwingUtilities.invokeAndWait(() -> {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    87
            pFalse.set(frame1.getMousePosition(false));
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    88
            pTrue.set(frame1.getMousePosition(true));
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    89
        });
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    90
        robot.waitForIdle();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    91
        if (pFalse.get() != null) {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    92
            throw new RuntimeException("Test failed: Container.getMousePosition(false) returned non-null over one of children.");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    93
        }
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    94
        System.out.println("Test stage completed: Container.getMousePosition(false) returned null result over child Component. Passed.");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    95
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    96
        if (pTrue.get() == null) {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    97
            throw new RuntimeException("Test failed: Container.getMousePosition(true) returned null result over child Component");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    98
        }
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
    99
        System.out.println("Test stage compelted: Container.getMousePosition(true) returned non-null result over child Component. Passed.");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   100
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   101
//point mouse out from Container's area
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   102
        robot.mouseMove(frameBounds.get().x + frameBounds.get().width + 10,
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   103
                        frameBounds.get().y + frameBounds.get().height + 10);
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   104
        SwingUtilities.invokeAndWait(() -> {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   105
            pFalse.set(frame1.getMousePosition(false));
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   106
            pTrue.set(frame1.getMousePosition(true));
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   107
        });
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   108
        robot.waitForIdle();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   109
        if (pFalse.get() != null || pTrue.get() != null) {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   110
            throw new RuntimeException("Test failed: Container.getMousePosition(boolean) returned incorrect result outside Container");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   111
        }
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   112
        System.out.println("Test stage completed: Container.getMousePosition(boolean) returned null result outside Container. Passed.");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   113
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   114
//point mouse in place free from child components (right-botton component)
44660
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
   115
        robot.mouseMove(frameBounds.get().x + frameInsets.get().left +
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
   116
                                                               centerC4.get().x,
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
   117
                        frameBounds.get().y + frameInsets.get().top +
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
   118
                                                              centerC4.get().y);
21940
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   119
44660
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
   120
        robot.waitForIdle();
21940
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   121
        SwingUtilities.invokeAndWait(() -> {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   122
            pFalse.set(contentPane.getMousePosition(false));
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   123
            pTrue.set(frame1.getMousePosition(true));
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   124
        });
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   125
        robot.waitForIdle();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   126
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   127
        if (pFalse.get() == null || pTrue.get() == null) {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   128
            throw new RuntimeException("Test failed: Container.getMousePosition(boolean) returned null result inside Container.");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   129
        }
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   130
        System.out.println("Test stage completed: Container.getMousePosition(boolean) returned non-null results  inside Container. Passed.");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   131
44660
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
   132
        if (pTrue.get().x != frameInsets.get().left + centerC4.get().x ||
990445ad62ec 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
ssadetsky
parents: 40128
diff changeset
   133
            pTrue.get().y != frameInsets.get().top + centerC4.get().y) {
21940
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   134
            throw new RuntimeException("Test failed: Container.getMousePosition(true) returned incorrect result inside Container.");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   135
        }
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   136
        System.out.println("Test stage completed: Container.getMousePosition(true) returned correct result inside Container. Passed.");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   137
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   138
        System.out.println("TEST PASSED");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   139
    }
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   140
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   141
    private static void init() {
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   142
        frame1 = new JFrame("Testing getMousePosition() on LWs");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   143
        jButton1 = new JButton("C1");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   144
        jButton4 = new JButton("C4");
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   145
        contentPane = frame1.getContentPane();
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   146
        contentPane.setLayout(new GridLayout(2, 2, 25, 25));
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   147
        contentPane.add(jButton1);
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   148
        contentPane.add(new JButton("C2"));
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   149
        contentPane.add(new JButton("C3"));
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   150
        contentPane.add(jButton4);
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   151
        frame1.setSize(200, 200);
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   152
        frame1.setVisible(true);
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   153
    }
1d3c0bbc4b7e 8028484: [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
pchelko
parents:
diff changeset
   154
}