870N/A/*
870N/A @test %I% %E%
870N/A @bug 6315717
870N/A @summary verifies that robot could accept extra buttons
870N/A @author Andrei Dmitriev : area=awt.mouse
870N/A @library ../../regtesthelpers
870N/A @build Util
870N/A @run main RobotExtraButton
870N/A */
870N/A
870N/Aimport java.awt.*;
870N/Aimport java.awt.event.*;
870N/Aimport test.java.awt.regtesthelpers.Util;
870N/A
870N/Apublic class RobotExtraButton extends Frame {
870N/A static Robot robot;
870N/A public static void main(String []s){
870N/A RobotExtraButton frame = new RobotExtraButton();
870N/A frame.setSize(300, 300);
870N/A frame.setVisible(true);
870N/A frame.addMouseListener(new MouseAdapter() {
870N/A public void mousePressed(MouseEvent e) {
870N/A System.out.println("PRESSED "+e);
870N/A }
870N/A public void mouseReleased(MouseEvent e) {
870N/A System.out.println("RELEASED "+e);
870N/A }
870N/A public void mouseClicked(MouseEvent e) {
870N/A System.out.println("CLICKED "+e);
870N/A }
870N/A });
870N/A Util.waitForIdle(robot);
870N/A int [] buttonMask = new int[MouseInfo.getNumberOfButtons()]; // = InputEvent.getButtonDownMasks();
870N/A for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
870N/A buttonMask[i] = InputEvent.getMaskForButton(i+1);
870N/A System.out.println("TEST: "+buttonMask[i]);
870N/A }
870N/A
870N/A try {
870N/A robot = new Robot();
870N/A robot.mouseMove(frame.getLocationOnScreen().x + frame.getWidth()/2, frame.getLocationOnScreen().y + frame.getHeight()/2);
870N/A /*
870N/A if (MouseInfo.getNumberOfButtons() <= 3) {
870N/A System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons() +". Finish!");
870N/A return;
870N/A }*/
870N/A
870N/A System.out.println("TEST: press 1");
870N/A robot.mousePress(InputEvent.BUTTON1_MASK);
870N/A robot.delay(50);
870N/A robot.mouseRelease(InputEvent.BUTTON1_MASK);
870N/A Util.waitForIdle(robot);
870N/A
870N/A System.out.println("TEST: press 2");
870N/A
870N/A robot.mousePress(InputEvent.BUTTON2_MASK);
870N/A robot.delay(50);
870N/A robot.mouseRelease(InputEvent.BUTTON2_MASK);
870N/A Util.waitForIdle(robot);
870N/A System.out.println("TEST: press 3");
870N/A
870N/A robot.mousePress(InputEvent.BUTTON3_MASK);
870N/A robot.delay(50);
870N/A robot.mouseRelease(InputEvent.BUTTON3_MASK);
870N/A Util.waitForIdle(robot);
870N/A System.out.println("--------------------------------------------------");
870N/A for (int i = 0; i < buttonMask.length; i++){
870N/A System.out.println("button would = " +i + " : value = " +buttonMask[i]);
870N/A robot.mousePress(buttonMask[i]);
870N/A robot.delay(50);
870N/A robot.mouseRelease(buttonMask[i]);
870N/A Util.waitForIdle(robot);
870N/A }
870N/A } catch (Exception e){
870N/A e.printStackTrace();
870N/A throw new RuntimeException("Test failed.", e);
870N/A }
870N/A }
870N/A}