Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/awt/Modal/ModalBlockingTests/BlockingDFTest.java
41153 views
1
/*
2
* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
25
import java.awt.*;
26
import static jdk.test.lib.Asserts.*;
27
28
29
// DF: Dialog -> Frame
30
31
public class BlockingDFTest {
32
33
private TestDialog dialog;
34
private TestFrame frame;
35
36
private static final int delay = 500;
37
private final ExtendedRobot robot;
38
39
private BlockingDFTest(Dialog.ModalityType modalityType,
40
boolean setModal) throws Exception {
41
42
robot = new ExtendedRobot();
43
EventQueue.invokeLater(() -> { createGUI(modalityType, setModal); });
44
}
45
46
public BlockingDFTest(Dialog.ModalityType modalityType) throws Exception {
47
this(modalityType, false);
48
}
49
50
public BlockingDFTest() throws Exception { this(null, true); }
51
52
53
private void createGUI(Dialog.ModalityType modalityType,
54
boolean setModal) {
55
56
frame = new TestFrame();
57
frame.setLocation(50, 50);
58
frame.setVisible(true);
59
60
dialog = new TestDialog((Dialog) null);
61
dialog.setLocation(250, 50);
62
if (setModal) {
63
dialog.setModal(true);
64
} else if (modalityType != null) {
65
dialog.setModalityType(modalityType);
66
}
67
68
dialog.setVisible(true);
69
}
70
71
public void doTest() throws Exception {
72
73
try {
74
75
robot.waitForIdle(delay);
76
dialog.activated.waitForFlagTriggered();
77
assertTrue(dialog.activated.flag(), "Dialog did not trigger " +
78
"Window Activated event when it became visible");
79
80
dialog.closeGained.waitForFlagTriggered();
81
assertTrue(dialog.closeGained.flag(), "The 1st button did not " +
82
"gain focus when the dialog became visible");
83
84
dialog.checkUnblockedDialog(robot, "");
85
frame.checkBlockedFrame(robot, "");
86
robot.waitForIdle(delay);
87
88
} finally {
89
EventQueue.invokeAndWait(this::closeAll);
90
}
91
}
92
93
private void closeAll() {
94
if (frame != null) { frame.dispose(); }
95
if (dialog != null) { dialog.dispose(); }
96
}
97
}
98
99