test/java/awt/event/KeyEvent/ExtendedKeyCode/ExtendedKeyCodeTest.java
Print this page
*** 21,51 ****
* questions.
*/
import java.awt.Frame;
import java.awt.Robot;
- import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyAdapter;
- import sun.awt.ExtendedKeyCodes;
- import sun.awt.SunToolkit;
/*
* @test
* @bug 8007156 8025126
* @summary Extended key code is not set for a key event
* @author Alexandr Scherbatiy
* @run main ExtendedKeyCodeTest
*/
public class ExtendedKeyCodeTest {
private static volatile boolean setExtendedKeyCode = true;
private static volatile int eventsCount = 0;
public static void main(String[] args) throws Exception {
! SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
! Robot robot = new Robot();
robot.setAutoDelay(50);
Frame frame = new Frame();
frame.setSize(300, 300);
--- 21,49 ----
* questions.
*/
import java.awt.Frame;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.awt.event.KeyAdapter;
/*
* @test
* @bug 8007156 8025126
* @summary Extended key code is not set for a key event
* @author Alexandr Scherbatiy
+ * @library ../../../../../lib/testlibrary
+ * @build ExtendedRobot
* @run main ExtendedKeyCodeTest
*/
public class ExtendedKeyCodeTest {
private static volatile boolean setExtendedKeyCode = true;
private static volatile int eventsCount = 0;
public static void main(String[] args) throws Exception {
! ExtendedRobot robot = new ExtendedRobot();
robot.setAutoDelay(50);
Frame frame = new Frame();
frame.setSize(300, 300);
*** 53,79 ****
@Override
public void keyPressed(KeyEvent e) {
eventsCount++;
setExtendedKeyCode = setExtendedKeyCode && (e.getExtendedKeyCode()
! == ExtendedKeyCodes.getExtendedKeyCodeForChar(e.getKeyChar()));
}
@Override
public void keyReleased(KeyEvent e) {
eventsCount++;
setExtendedKeyCode = setExtendedKeyCode && (e.getExtendedKeyCode()
! == ExtendedKeyCodes.getExtendedKeyCodeForChar(e.getKeyChar()));
}
});
frame.setVisible(true);
! toolkit.realSync();
robot.keyPress(KeyEvent.VK_D);
robot.keyRelease(KeyEvent.VK_D);
! toolkit.realSync();
frame.dispose();
if (eventsCount != 2 || !setExtendedKeyCode) {
throw new RuntimeException("Wrong extended key code");
--- 51,77 ----
@Override
public void keyPressed(KeyEvent e) {
eventsCount++;
setExtendedKeyCode = setExtendedKeyCode && (e.getExtendedKeyCode()
! == KeyEvent.getExtendedKeyCodeForChar(e.getKeyChar()));
}
@Override
public void keyReleased(KeyEvent e) {
eventsCount++;
setExtendedKeyCode = setExtendedKeyCode && (e.getExtendedKeyCode()
! == KeyEvent.getExtendedKeyCodeForChar(e.getKeyChar()));
}
});
frame.setVisible(true);
! robot.waitForIdle();
robot.keyPress(KeyEvent.VK_D);
robot.keyRelease(KeyEvent.VK_D);
! robot.waitForIdle();
frame.dispose();
if (eventsCount != 2 || !setExtendedKeyCode) {
throw new RuntimeException("Wrong extended key code");
*** 90,104 ****
setExtendedKeyCode = e.getExtendedKeyCode() == KeyEvent.VK_LEFT;
}
});
frame.setVisible(true);
! toolkit.realSync();
robot.keyPress(KeyEvent.VK_LEFT);
robot.keyRelease(KeyEvent.VK_LEFT);
! toolkit.realSync();
frame.dispose();
if (!setExtendedKeyCode) {
throw new RuntimeException("Wrong extended key code!");
}
--- 88,102 ----
setExtendedKeyCode = e.getExtendedKeyCode() == KeyEvent.VK_LEFT;
}
});
frame.setVisible(true);
! robot.waitForIdle();
robot.keyPress(KeyEvent.VK_LEFT);
robot.keyRelease(KeyEvent.VK_LEFT);
! robot.waitForIdle();
frame.dispose();
if (!setExtendedKeyCode) {
throw new RuntimeException("Wrong extended key code!");
}