Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/javax/swing/JProgressBar/8015748/JProgressBarOrientationRobotTest.java
41153 views
1
/*
2
* Copyright (c) 2015, 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
* @test
26
* @key headful
27
* @bug 8015748
28
* @summary verifies ProgressBar RightToLeft orientations for all Look and Feels
29
* @library ../../regtesthelpers
30
* @build Util
31
* @run main JProgressBarOrientationRobotTest
32
*/
33
import java.awt.Color;
34
import java.awt.ComponentOrientation;
35
import java.awt.Point;
36
import java.awt.Robot;
37
import javax.swing.JFrame;
38
import javax.swing.JProgressBar;
39
import javax.swing.SwingUtilities;
40
import javax.swing.UIManager;
41
import javax.swing.UnsupportedLookAndFeelException;
42
43
public class JProgressBarOrientationRobotTest {
44
45
private static JFrame frame;
46
private static JProgressBar progressBar;
47
private static Robot robot;
48
private static Color colorCenter;
49
private static Color colorLeft;
50
private static Color colorRight;
51
private static final int widthBuffer = 20;
52
private static volatile String errorString = "";
53
54
public static void main(String[] args) throws Exception {
55
robot = new Robot();
56
robot.waitForIdle();
57
UIManager.LookAndFeelInfo[] lookAndFeelArray
58
= UIManager.getInstalledLookAndFeels();
59
for (UIManager.LookAndFeelInfo lookAndFeelItem : lookAndFeelArray) {
60
executeCase(lookAndFeelItem.getClassName(),
61
lookAndFeelItem.getName());
62
63
}
64
if (!"".equals(errorString)) {
65
System.err.println(errorString);
66
}
67
}
68
69
private static void executeCase(String lookAndFeelString,
70
String shortenedLandFeelString) throws Exception {
71
if (tryLookAndFeel(lookAndFeelString)) {
72
createUI(shortenedLandFeelString);
73
robot.waitForIdle();
74
75
createLTR();
76
robot.delay(1000);
77
runTestCase();
78
robot.delay(1000);
79
testCaseLTR(shortenedLandFeelString);
80
robot.delay(1000);
81
82
createRTL();
83
robot.delay(1000);
84
runTestCase();
85
robot.delay(1000);
86
testCaseRTL(shortenedLandFeelString);
87
robot.delay(1000);
88
89
cleanUp();
90
}
91
92
}
93
94
private static void createUI(final String shortenedLookAndFeelString)
95
throws Exception {
96
SwingUtilities.invokeAndWait(new Runnable() {
97
@Override
98
public void run() {
99
progressBar = new JProgressBar();
100
progressBar.setValue(30);
101
frame = new JFrame(shortenedLookAndFeelString);
102
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
103
frame.getContentPane().add(progressBar);
104
frame.pack();
105
frame.setSize(500, frame.getSize().height);
106
frame.setLocationRelativeTo(null);
107
frame.setVisible(true);
108
frame.toFront();
109
}
110
});
111
}
112
113
private static void createLTR()
114
throws Exception {
115
SwingUtilities.invokeAndWait(new Runnable() {
116
@Override
117
public void run() {
118
progressBar.applyComponentOrientation(
119
ComponentOrientation.LEFT_TO_RIGHT);
120
progressBar.repaint();
121
}
122
});
123
}
124
125
private static void createRTL()
126
throws Exception {
127
SwingUtilities.invokeAndWait(new Runnable() {
128
@Override
129
public void run() {
130
progressBar.applyComponentOrientation(
131
ComponentOrientation.RIGHT_TO_LEFT);
132
progressBar.repaint();
133
}
134
});
135
}
136
137
private static void runTestCase() throws Exception {
138
Point centerPoint = Util.getCenterPoint(progressBar);
139
colorCenter = robot.getPixelColor(centerPoint.x, centerPoint.y);
140
colorRight = robot.getPixelColor(
141
(centerPoint.x + progressBar.getWidth() / 2 - widthBuffer),
142
centerPoint.y);
143
colorLeft = robot.getPixelColor(
144
(centerPoint.x - progressBar.getWidth() / 2 + widthBuffer),
145
centerPoint.y);
146
robot.waitForIdle();
147
}
148
149
private static void testCaseLTR(String shortenedLookAndFeelString)
150
throws Exception {
151
SwingUtilities.invokeAndWait(new Runnable() {
152
@Override
153
public void run() {
154
155
if (colorCenter.equals(colorRight)) {
156
if (!colorCenter.equals(colorLeft)) {
157
System.out.println("[" + shortenedLookAndFeelString
158
+ "]: LTR orientation test passed");
159
}
160
} else {
161
frame.dispose();
162
String error = "[" + shortenedLookAndFeelString
163
+ "]: [Error]: LTR orientation test failed";
164
errorString += error;
165
System.err.println(error);
166
}
167
}
168
});
169
170
}
171
172
private static void testCaseRTL(String shortenedLookAndFeelString)
173
throws Exception {
174
SwingUtilities.invokeAndWait(new Runnable() {
175
@Override
176
public void run() {
177
if (colorCenter.equals(colorLeft)) {
178
if (!colorCenter.equals(colorRight)) {
179
System.out.println("[" + shortenedLookAndFeelString
180
+ "]: RTL orientation test passed");
181
}
182
} else {
183
frame.dispose();
184
String error = "[" + shortenedLookAndFeelString
185
+ "]: [Error]: LTR orientation test failed";
186
errorString += error;
187
System.err.println(error);
188
}
189
}
190
});
191
}
192
193
private static void cleanUp() throws Exception {
194
SwingUtilities.invokeAndWait(new Runnable() {
195
@Override
196
public void run() {
197
frame.dispose();
198
}
199
});
200
}
201
202
private static boolean tryLookAndFeel(String lookAndFeelString)
203
throws Exception {
204
try {
205
UIManager.setLookAndFeel(
206
lookAndFeelString);
207
208
} catch (UnsupportedLookAndFeelException
209
| ClassNotFoundException
210
| InstantiationException
211
| IllegalAccessException e) {
212
errorString += e.getMessage() + "\n";
213
System.err.println("[Exception]: " + e.getMessage());
214
return false;
215
}
216
return true;
217
}
218
}
219
220