1 /*
2 test
3 @bug 6190768 6190778
4 @summary Tests that triggering events on AWT list by pressing CTRL + HOME, CTRL + END, PG-UP, PG-DOWN similar Motif behavior
5 @author Dmitry.Cherepanov@SUN.COM area=awt.list
6 @run applet KeyEventsTest.html
7 */
8
9 /**
10 * KeyEventsTest.html
11 *
12 * summary:
13 */
14
15 import java.applet.Applet;
16 import java.awt.*;
17 import java.awt.event.*;
18 import java.util.Set;
19 import java.lang.reflect.*;
20 import sun.awt.SunToolkit;
21
22 public class KeyEventsTest extends Applet implements ItemListener, FocusListener, KeyListener
23 {
24 TestState currentState;
25 final Object LOCK = new Object();
26 final int ACTION_TIMEOUT = 500;
27
28 List single = new List(3, false);
29 List multiple = new List(3, true);
30
31 Panel p1 = new Panel ();
32 Panel p2 = new Panel ();
33
34 public void init()
35 {
36 setLayout (new BorderLayout ());
37
38 single.add("0");
39 single.add("1");
40 single.add("2");
216 list.makeVisible(visibleIndex);
217
218 r.delay(10);
219
220 if (currentState.getKeyID() == KeyEvent.VK_HOME ||
221 currentState.getKeyID() == KeyEvent.VK_END){
222 r.keyPress(KeyEvent.VK_CONTROL);
223 }
224
225 r.delay(10);
226 r.keyPress(currentState.getKeyID());
227 r.delay(10);
228 r.keyRelease(currentState.getKeyID());
229 r.delay(10);
230
231 if (currentState.getKeyID() == KeyEvent.VK_HOME ||
232 currentState.getKeyID() == KeyEvent.VK_END){
233 r.keyRelease(KeyEvent.VK_CONTROL);
234 }
235
236 ((SunToolkit)Toolkit.getDefaultToolkit()).realSync();
237 r.delay(200);
238
239 if (currentState.getTemplate() != currentState.getAction())
240 throw new RuntimeException("Test failed.");
241
242 }
243
244 }
245
246 private void doTest()
247 throws InterruptedException, InvocationTargetException {
248
249 final String os = System.getProperty("os.name");
250 final boolean isWin = os.startsWith("Win");
251
252 System.out.println("multiple? selectedMoved? ?scrollMoved keyID? template? action?");
253 test(new TestState(false, false, false, KeyEvent.VK_PAGE_UP, isWin?false:false));
254 // SelectedMoved (false) != ScrollMoved (true) for single list not emulated
255 test(new TestState(false, true, false, KeyEvent.VK_PAGE_UP, isWin?true:false));
256 test(new TestState(false, true, true, KeyEvent.VK_PAGE_UP, isWin?true:true));
257 test(new TestState(true, false, false, KeyEvent.VK_PAGE_UP, isWin?true:false));
258 test(new TestState(true, false, true, KeyEvent.VK_PAGE_UP, isWin?true:false));
259 test(new TestState(true, true, false, KeyEvent.VK_PAGE_UP, isWin?true:false));
260 test(new TestState(true, true, true, KeyEvent.VK_PAGE_UP, isWin?true:false));
261
262 test(new TestState(false, false, false, KeyEvent.VK_PAGE_DOWN, isWin?false:false));
263 test(new TestState(false, true, false, KeyEvent.VK_PAGE_DOWN, isWin?true:false));
264 test(new TestState(false, true, true, KeyEvent.VK_PAGE_DOWN, isWin?true:true));
265 test(new TestState(true, false, false, KeyEvent.VK_PAGE_DOWN, isWin?true:false));
266 test(new TestState(true, false, true, KeyEvent.VK_PAGE_DOWN, isWin?true:false));
267 test(new TestState(true, true, false, KeyEvent.VK_PAGE_DOWN, isWin?true:false));
268 test(new TestState(true, true, true, KeyEvent.VK_PAGE_DOWN, isWin?true:false));
269
270 test(new TestState(false, false, false, KeyEvent.VK_HOME, isWin?false:true));
|
1 /*
2 test
3 @bug 6190768 6190778
4 @summary Tests that triggering events on AWT list by pressing CTRL + HOME, CTRL + END, PG-UP, PG-DOWN similar Motif behavior
5 @author Dmitry.Cherepanov@SUN.COM area=awt.list
6 @library ../../../../lib/testlibrary
7 @build jdk.testlibrary.OSInfo
8 @run applet KeyEventsTest.html
9 */
10
11 /**
12 * KeyEventsTest.html
13 *
14 * summary:
15 */
16
17 import java.applet.Applet;
18 import java.awt.*;
19 import java.awt.event.*;
20 import java.util.Set;
21 import java.lang.reflect.*;
22
23 import jdk.testlibrary.OSInfo;
24
25 public class KeyEventsTest extends Applet implements ItemListener, FocusListener, KeyListener
26 {
27 TestState currentState;
28 final Object LOCK = new Object();
29 final int ACTION_TIMEOUT = 500;
30
31 List single = new List(3, false);
32 List multiple = new List(3, true);
33
34 Panel p1 = new Panel ();
35 Panel p2 = new Panel ();
36
37 public void init()
38 {
39 setLayout (new BorderLayout ());
40
41 single.add("0");
42 single.add("1");
43 single.add("2");
219 list.makeVisible(visibleIndex);
220
221 r.delay(10);
222
223 if (currentState.getKeyID() == KeyEvent.VK_HOME ||
224 currentState.getKeyID() == KeyEvent.VK_END){
225 r.keyPress(KeyEvent.VK_CONTROL);
226 }
227
228 r.delay(10);
229 r.keyPress(currentState.getKeyID());
230 r.delay(10);
231 r.keyRelease(currentState.getKeyID());
232 r.delay(10);
233
234 if (currentState.getKeyID() == KeyEvent.VK_HOME ||
235 currentState.getKeyID() == KeyEvent.VK_END){
236 r.keyRelease(KeyEvent.VK_CONTROL);
237 }
238
239 r.waitForIdle();
240 r.delay(200);
241
242 if (currentState.getTemplate() != currentState.getAction())
243 throw new RuntimeException("Test failed.");
244
245 }
246
247 }
248
249 private void doTest()
250 throws InterruptedException, InvocationTargetException {
251
252 boolean isWin = false;
253 if (OSInfo.getOSType() == OSInfo.OSType.WINDOWS) {
254 isWin = true;
255 }else if(OSInfo.getOSType() == OSInfo.OSType.MACOSX) {
256 System.out.println("Not for OS X");
257 return;
258 }
259
260 System.out.println("multiple? selectedMoved? ?scrollMoved keyID? template? action?");
261 test(new TestState(false, false, false, KeyEvent.VK_PAGE_UP, isWin?false:false));
262 // SelectedMoved (false) != ScrollMoved (true) for single list not emulated
263 test(new TestState(false, true, false, KeyEvent.VK_PAGE_UP, isWin?true:false));
264 test(new TestState(false, true, true, KeyEvent.VK_PAGE_UP, isWin?true:true));
265 test(new TestState(true, false, false, KeyEvent.VK_PAGE_UP, isWin?true:false));
266 test(new TestState(true, false, true, KeyEvent.VK_PAGE_UP, isWin?true:false));
267 test(new TestState(true, true, false, KeyEvent.VK_PAGE_UP, isWin?true:false));
268 test(new TestState(true, true, true, KeyEvent.VK_PAGE_UP, isWin?true:false));
269
270 test(new TestState(false, false, false, KeyEvent.VK_PAGE_DOWN, isWin?false:false));
271 test(new TestState(false, true, false, KeyEvent.VK_PAGE_DOWN, isWin?true:false));
272 test(new TestState(false, true, true, KeyEvent.VK_PAGE_DOWN, isWin?true:true));
273 test(new TestState(true, false, false, KeyEvent.VK_PAGE_DOWN, isWin?true:false));
274 test(new TestState(true, false, true, KeyEvent.VK_PAGE_DOWN, isWin?true:false));
275 test(new TestState(true, true, false, KeyEvent.VK_PAGE_DOWN, isWin?true:false));
276 test(new TestState(true, true, true, KeyEvent.VK_PAGE_DOWN, isWin?true:false));
277
278 test(new TestState(false, false, false, KeyEvent.VK_HOME, isWin?false:true));
|