Path: blob/jdk8u272-b10-aarch32-20201026/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java
48795 views
/*1* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/2223/*24@test %I% %E%25@bug 631571726@summary verifies that modifiers are correct for standard (1, 2, 3, wheel) mouse buttons27@author Andrei Dmitriev : area=awt.mouse28@run main MouseModifiersUnitTest_Standard29*/3031import java.awt.*;32import java.awt.event.*;33import java.util.HashMap;34import java.util.StringTokenizer;35import java.util.Vector;3637//the test verifies:38// 1) verifies that modifiers are correct for standard (1, 2, 3) mouse buttons39// TODO: 2) verifies that modifiers are correct for wheel40// TODO: 3)41// Case1. the test posts BUTTONx_MASK and verifies that paramString() contains correct modifiers and exModifiers42// Case2. the test posts BUTTONx_DOWN_MASK and verifies that paramString() contains correct modifiers and exModifiers43// Case3. the test posts getMaskForButton(n) and verifies that paramString() contains correct modifiers and exModifiers44// repeat all cases with SHIFT/ALT/CTRL modifiers verify that paramString() contains correct modifiers and exModifiers45// I'm verifying button, modifiers and extModifiers for now.4647public class MouseModifiersUnitTest_Standard {48static final int NONE = 0;49static final int SHIFT = 1;50static final int CTRL = 2;51static final int ALT = 3;52static boolean debug = true; //dump all errors (debug) or throw first(under jtreg) exception53static boolean autorun = false; //use robot or manual run54static int testModifier = NONE;55// static String testModifier = "NONE";56static CheckingModifierAdapter adapterTest1;57static CheckingModifierAdapter adapterTest2;58static CheckingModifierAdapter adapterTest3;59static CheckingModifierAdapter adapterTest4;60static Frame f;61final static int [] mouseButtons = new int [] {MouseEvent.BUTTON1_MASK, MouseEvent.BUTTON2_MASK, MouseEvent.BUTTON3_MASK};62// BUTTON1, 2, 3 press-release.63final static int [] modifiersStandardTestNONE = new int[] {MouseEvent.BUTTON1_MASK, MouseEvent.BUTTON1_MASK, MouseEvent.BUTTON1_MASK,64MouseEvent.BUTTON2_MASK, MouseEvent.BUTTON2_MASK, MouseEvent.BUTTON2_MASK,65MouseEvent.BUTTON3_MASK, MouseEvent.BUTTON3_MASK, MouseEvent.BUTTON3_MASK };66final static int [] modifiersExStandardTestNONE = new int[] {MouseEvent.BUTTON1_DOWN_MASK, 0, 0,67MouseEvent.BUTTON2_DOWN_MASK, 0, 0,68MouseEvent.BUTTON3_DOWN_MASK, 0, 0};69// BUTTON1, 2, 3 press-release with shift modifier70final static int [] modifiersStandardTestSHIFT = new int[] {MouseEvent.BUTTON1_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON1_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON1_MASK|InputEvent.SHIFT_MASK,71MouseEvent.BUTTON2_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON2_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON2_MASK|InputEvent.SHIFT_MASK,72MouseEvent.BUTTON3_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON3_MASK|InputEvent.SHIFT_MASK, MouseEvent.BUTTON3_MASK|InputEvent.SHIFT_MASK };73final static int [] modifiersExStandardTestSHIFT = new int[] {MouseEvent.BUTTON1_DOWN_MASK|InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK,74MouseEvent.BUTTON2_DOWN_MASK|InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK,75MouseEvent.BUTTON3_DOWN_MASK|InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK};76// BUTTON1, 2, 3 press-release with CTRL modifier77final static int [] modifiersStandardTestCTRL = new int[] {MouseEvent.BUTTON1_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON1_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON1_MASK|InputEvent.CTRL_MASK,78MouseEvent.BUTTON2_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON2_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON2_MASK|InputEvent.CTRL_MASK,79MouseEvent.BUTTON3_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON3_MASK|InputEvent.CTRL_MASK, MouseEvent.BUTTON3_MASK|InputEvent.CTRL_MASK };80final static int [] modifiersExStandardTestCTRL = new int[] {MouseEvent.BUTTON1_DOWN_MASK|InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK,81MouseEvent.BUTTON2_DOWN_MASK|InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK,82MouseEvent.BUTTON3_DOWN_MASK|InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK, InputEvent.CTRL_DOWN_MASK};8384// BUTTON1, 2, 3 press-release with ALT modifier85final static int [] modifiersStandardTestALT = new int[] {MouseEvent.BUTTON1_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON1_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON1_MASK|InputEvent.ALT_MASK,86MouseEvent.BUTTON2_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON2_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON2_MASK|InputEvent.ALT_MASK,87MouseEvent.BUTTON3_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON3_MASK|InputEvent.ALT_MASK, MouseEvent.BUTTON3_MASK|InputEvent.ALT_MASK };88final static int [] modifiersExStandardTestALT = new int[] {MouseEvent.BUTTON1_DOWN_MASK|InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK,89MouseEvent.BUTTON2_DOWN_MASK|InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK,90MouseEvent.BUTTON3_DOWN_MASK|InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK, InputEvent.ALT_DOWN_MASK};9192static Robot robot;9394public static void main(String s[]){95initParams(s);96initAdapters();97f = new Frame();98final int [] modifiers = {InputEvent.SHIFT_MASK, InputEvent.CTRL_MASK};99final String [] modifierNames = {"InputEvent.SHIFT_MASK", "InputEvent.CTRL_MASK"};100f.setLayout(new FlowLayout());101f.addMouseWheelListener(new MouseWheelListener() {102public void mouseWheelMoved(MouseWheelEvent e) {103System.out.println("WHEEL "+e);104}105});106f.setSize(300, 300);107f.setVisible(true);108109try {110robot = new Robot();111robot.delay(500);112robot.mouseMove(f.getLocationOnScreen().x + f.getWidth()/2, f.getLocationOnScreen().y + f.getHeight()/2);113if (autorun) {114//testing buttons 1, 2, 3 only115testPlainButtons();116robot.delay(500);117118//testing buttons 1, 2, 3 with SHIFT, CTRL, ALT keyboard modifiers119testButtonsWithShift();120robot.delay(500);121122testButtonsWithControl();123robot.delay(500);124125testButtonsWithAlt();126robot.delay(500);127} else {128switch (testModifier){129case SHIFT:130f.addMouseListener(adapterTest2);131break;132case CTRL:133f.addMouseListener(adapterTest3);134break;135case ALT:136f.addMouseListener(adapterTest4);137break;138default: //NONE inclusive139f.addMouseListener(adapterTest1);140}141}142} catch (Exception e){143throw new RuntimeException("Test failed.");144}145146}147148public static void initAdapters(){149adapterTest1 = new CheckingModifierAdapter(NONE);150adapterTest2 = new CheckingModifierAdapter(SHIFT);151adapterTest3 = new CheckingModifierAdapter(CTRL);152adapterTest4 = new CheckingModifierAdapter(ALT);153}154155/*======================================================================*/156public static void checkPressedModifiersTest(int testModifier, MouseEvent event){157int [] curStandardModifiers = getStandardArray(testModifier);158int [] curStandardExModifiers = getStandardExArray(testModifier);159int button = event.getButton();160int modifiers = event.getModifiers();161int modifiersEx = event.getModifiersEx();162int index = (button - 1)*3;163// int index = (button - 4)*3;164dumpValues(button, modifiers, curStandardModifiers[index], modifiersEx, curStandardExModifiers[index]);165if (modifiers != curStandardModifiers[index]){166if (debug){167System.out.println("Test failed : Pressed. modifiers != modifiersStandard");168} else {169throw new RuntimeException("Test failed : Pressed. modifiers != modifiersStandard");170}171}172173if (modifiersEx != curStandardExModifiers[index]){174// System.out.println(">>>>>>>>>>>>>>> Pressed. modifiersEx "+modifiersEx +" : "+!= curStandardExModifiers");175if (debug){176System.out.println("Test failed : Pressed. modifiersEx != curStandardExModifiers");177} else {178throw new RuntimeException("Test failed : Pressed. modifiersEx != curStandardExModifiers");179}180}181HashMap <String, String> paramStringElements = tokenizeParamString(event.paramString());182System.out.println(event.paramString());183checkButton(paramStringElements, button);184checkModifiers(testModifier, paramStringElements, button);185checkExtModifiersOnPress(testModifier, paramStringElements, button);186}187188public static void checkButton(HashMap<String, String> h, int button){189if (h.get("button") == null) {190throw new RuntimeException("Test failed : Clicked. button is absent in paramString()");191}192if (Integer.parseInt(h.get("button")) != button) {193throw new RuntimeException("Test failed : Clicked. button in paramString() doesn't equal to button being pressed.");194}195}196197public static void checkExtModifiersOnPress(int testModifier, HashMap h, int button){198String ethalon = "";199if (h.get("extModifiers") == null) {200System.out.println("Test failed : Pressed. extModifiers == null");201throw new RuntimeException("Test failed : Pressed. extModifiers == null");202}203switch (testModifier){204case SHIFT:{205ethalon = "Shift+";206break;207}208case ALT:{209ethalon = "Alt+";210break;211}212case CTRL:{213ethalon = "Ctrl+";214break;215}216default: {217ethalon = "";218}219ethalon = ethalon + "Button" +button;220221if (!h.get("extModifiers").equals(ethalon)) {222System.out.println("Test failed : Pressed. extModifiers = " +h.get("extModifiers")+" instead of : "+ethalon);223throw new RuntimeException("Test failed : Pressed. extModifiers = " +h.get("extModifiers")+" instead of : "+ethalon);224}225}226}227228229230public static void checkModifiers(int testModifier, HashMap<String, String> h, int button){231// none of modifiers should be null232if (h.get("modifiers") == null) {233System.out.println("Test failed : modifiers == null");234throw new RuntimeException("Test failed : modifiers == null");235}236Vector <String> modifierElements = tokenizeModifiers(h.get("modifiers"));237//check that ButtonX is there238String buttonEthalon = "Button" + button;239if (modifierElements.contains(buttonEthalon)){240modifierElements.remove(buttonEthalon);241} else {242System.out.println("Test failed : modifiers doesn't contain Button "+h.get("modifiers"));243throw new RuntimeException("Test failed : modifiers doesn't contain Button "+h.get("modifiers"));244}245246247//Check all explicitly pressed modifires248// boolean altIncluded = false; //don't duplicate Alt when ALT is pressed and BUTTON2_MASK.249String excplicitModifier = "";250boolean altIncluded = false;251switch (testModifier){252case SHIFT:{253excplicitModifier = "Shift";254break;255}256case ALT:{257excplicitModifier = "Alt";258altIncluded = true; //there should be only on "Alt" for two modifiers. So check it.259break;260}261case CTRL:{262excplicitModifier = "Ctrl";263break;264}265}266if (!excplicitModifier.equals("")){267if (modifierElements.contains(excplicitModifier)){268modifierElements.remove(excplicitModifier);269} else {270System.out.println("Test failed : modifiers doesn't contain explicit modifier "+excplicitModifier + " in "+ h.get("modifiers"));271throw new RuntimeException("Test failed : modifiers doesn't contain explicit modifier "+excplicitModifier + " in "+ h.get("modifiers"));272}273}274275//Button 2 and 3 reports about Alt+Button2 and Meta+Button3 respectively.276//Check these values too277String extraModifiers = "";278String extraModifiersButton3 = "";279switch (button){280//BUTTON1 with ALT reports about Alt+Button1+Button2.281//We should fix this but I would not change this.282case 1: {283//Alt+Button1+Button2:284// 1) we already handled "Alt" in excplicitModifier285// 2) we already took "Button1" in buttonEthalon286// 3) so "Button2" is only remained.287// This should only happen when ALT+Button1 is pressed288if (altIncluded){289extraModifiers = "Button2";290}291break;292}293case 2: {294//Alt+Button2 report about "Alt+Button2".295extraModifiers = "Alt";296break;297}298case 3: {299//ALT+BUTTON3 reports about "Alt+Meta+Button2+Button3"300// This should only happen when ALT+Button3 is pressed301extraModifiers = "Meta";302if (altIncluded){303extraModifiersButton3 = "Button2";304}305break;306}307}//switch308309if (!extraModifiers.equals("")){310if (modifierElements.contains(extraModifiers)){311modifierElements.remove(extraModifiers);312} else {313//we may already removed "Alt" when filtered explicit modifiers.314//Here is no failure in this case.315if (!altIncluded) {316System.out.println("Test failed : modifiers doesn't contain a modifier from BUTTON2 or BUTTON3 "+extraModifiers + " in "+ h.get("modifiers"));317throw new RuntimeException("Test failed : modifiers doesn't contain a modifier from BUTTON2 or BUTTON3 "+extraModifiers + " in "+ h.get("modifiers"));318}319}320}321322if (!extraModifiersButton3.equals("")){323if (modifierElements.contains(extraModifiersButton3)){324modifierElements.remove(extraModifiersButton3);325} else {326System.out.println("Test failed : modifiers doesn't contain a modifier from BUTTON2 or BUTTON3 "+extraModifiersButton3 + " in "+ h.get("modifiers"));327throw new RuntimeException("Test failed : modifiers doesn't contain a modifier from BUTTON2 or BUTTON3 "+extraModifiersButton3 + " in "+ h.get("modifiers"));328}329}330331//the length of vector should now be zero332if (!modifierElements.isEmpty()){333System.out.println("Test failed : there is some more elements in modifiers that shouldn't be there: "+h.get("modifiers"));334throw new RuntimeException("Test failed : there is some more elements in modifiers that shouldn't be there: "+h.get("modifiers"));335}336}337338public static void checkExtModifiersOnReleaseClick(int testModifier, HashMap h, int button){339String ethalon = "";340switch (testModifier){341case SHIFT:{342ethalon = "Shift+";343break;344}345case ALT:{346ethalon = "Alt+";347break;348}349case CTRL:{350ethalon = "Ctrl+";351break;352}353default: {354if (h.get("extModifiers") != null) {355System.out.println("Test failed : Released. extModifiers != null but no modifiers keys are pressed");356throw new RuntimeException("Test failed : Released. extModifiers != null but no modifiers keys are pressed");357} else {358//no modifiers359return;360}361}362}363if (h.get("extModifiers").equals(ethalon)) {364System.out.println("Test failed : Released. extModifiers = "+ h.get("extModifiers") +" instead of : "+ethalon);365throw new RuntimeException("Test failed : Released. extModifiers = "+ h.get("extModifiers") +" instead of : "+ethalon);366}367}368369public static void checkReleasedModifiersTest(int testModifier, MouseEvent event){370int [] curStandardModifiers = getStandardArray(testModifier);371int [] curStandardExModifiers = getStandardExArray(testModifier);372// int index = (button - 4)*3 + 1;373int button = event.getButton();374int modifiers = event.getModifiers();375int modifiersEx = event.getModifiersEx();376int index = (button - 1)*3 + 1;377dumpValues(button, modifiers, curStandardModifiers[index], modifiersEx, curStandardExModifiers[index]);378if (modifiers != curStandardModifiers[index]){379if (debug){380System.out.println("Test failed : Released. modifiers != modifiersStandard");381} else {382throw new RuntimeException("Test failed : Released. modifiers != modifiersStandard");383}384}385if (modifiersEx != curStandardExModifiers[index]){386if (debug){387System.out.println("Test failed : Released. modifiersEx != curStandardExModifiers");388} else {389throw new RuntimeException("Test failed : Released. modifiersEx != curStandardExModifiers");390}391}392HashMap <String, String> paramStringElements = tokenizeParamString(event.paramString());393System.out.println(event.paramString());394checkButton(paramStringElements, button);395checkModifiers(testModifier, paramStringElements, button);396checkExtModifiersOnReleaseClick(testModifier, paramStringElements, button);397}398399public static void checkClickedModifiersTest(int testModifier, MouseEvent event){400int [] curStandardModifiers = getStandardArray(testModifier);401int [] curStandardExModifiers = getStandardExArray(testModifier);402// int index = (button - 4)*3 + 2;403int button = event.getButton();404int modifiers = event.getModifiers();405int modifiersEx = event.getModifiersEx();406int index = (button - 1)*3 + 2;407dumpValues(button, modifiers, curStandardModifiers[index], modifiersEx, curStandardExModifiers[index]);408if (modifiers != curStandardModifiers[index]){409if (debug){410System.out.println("Test failed : Clicked. modifiers != modifiersStandard");411} else {412throw new RuntimeException("Test failed : Clicked. modifiers != modifiersStandard");413}414}415if (modifiersEx != curStandardExModifiers[index]){416if (debug){417System.out.println("Test failed : Clicked. modifiersEx != curStandardExModifiers");418} else {419throw new RuntimeException("Test failed : Clicked. modifiersEx != curStandardExModifiers");420}421}422HashMap <String, String> paramStringElements = tokenizeParamString(event.paramString());423checkButton(paramStringElements, button);424checkModifiers(testModifier, paramStringElements, button);425checkExtModifiersOnReleaseClick(testModifier, paramStringElements, button);426}427/*======================================================================*/428429public static HashMap<String, String> tokenizeParamString(String param){430HashMap <String, String> params = new HashMap<String, String>();431StringTokenizer st = new StringTokenizer(param, ",=");432while (st.hasMoreTokens()){433String tmp = st.nextToken();434// System.out.println("PARSER : "+tmp);435if (tmp.equals("button") ||436tmp.equals("modifiers") ||437tmp.equals("extModifiers")) {438params.put(tmp, st.nextToken());439}440}441return params;442}443444public static Vector<String> tokenizeModifiers(String modifierList){445Vector<String> modifiers = new Vector<String>();446StringTokenizer st = new StringTokenizer(modifierList, "+");447while (st.hasMoreTokens()){448String tmp = st.nextToken();449modifiers.addElement(tmp);450System.out.println("MODIFIER PARSER : "+tmp);451}452return modifiers;453}454455456//test BUTTON1, 2 and 3 without any modifiers keys457public static void testPlainButtons(){458System.out.println("Testing buttons without modifiers.");459f.addMouseListener(adapterTest1);460for (int button : mouseButtons){461robot.mousePress(button);462robot.delay(100);463robot.mouseRelease(button);464}465robot.delay(1000);466f.removeMouseListener(adapterTest1);467}468469//test BUTTON1, 2 and 3 with SHIFT key470public static void testButtonsWithShift(){471System.out.println("Testing buttons with SHIFT modifier.");472f.addMouseListener(adapterTest2);473474for (int button : mouseButtons){475robot.keyPress(KeyEvent.VK_SHIFT);476robot.mousePress(button);477robot.delay(100);478robot.mouseRelease(button);479robot.keyRelease(KeyEvent.VK_SHIFT);480}481robot.delay(1000);482f.removeMouseListener(adapterTest2);483}484485//test BUTTON1, 2 and 3 with CTRL key486public static void testButtonsWithControl(){487System.out.println("Testing buttons with CONTROL modifier.");488f.addMouseListener(adapterTest3);489for (int button : mouseButtons){490robot.keyPress(KeyEvent.VK_CONTROL);491robot.mousePress(button);492robot.delay(100);493robot.mouseRelease(button);494robot.keyRelease(KeyEvent.VK_CONTROL);495}496robot.delay(1000);497f.removeMouseListener(adapterTest3);498}499500//test BUTTON1, 2 and 3 with ALT key501public static void testButtonsWithAlt(){502System.out.println("Testing buttons with ALT modifier.");503f.addMouseListener(adapterTest4);504for (int button : mouseButtons){505robot.keyPress(KeyEvent.VK_ALT);506robot.mousePress(button);507robot.delay(100);508robot.mouseRelease(button);509robot.keyRelease(KeyEvent.VK_ALT);510}511robot.delay(1000);512f.removeMouseListener(adapterTest4);513}514515public static void initParams(String []s){516if (s.length != 3){517autorun = true;518debug = false;519testModifier = NONE;520} else {521autorun = Boolean.valueOf(s[0]);522debug = Boolean.valueOf(s[1]);523524if (s[2].equals("NONE")){525testModifier = NONE;526}527if (s[2].equals("SHIFT")){528testModifier = SHIFT;529}530if (s[2].equals("CTRL")){531testModifier = CTRL;532}533if (s[2].equals("ALT")){534testModifier = ALT;535}536}537System.out.println("Autorun : " +autorun);538System.out.println("Debug mode : " +debug);539System.out.println("Modifier to verify : " + testModifier);540}541542public static void dumpValues(int button, int modifiers, int modifiersStandard, int modifiersEx, int modifiersExStandard){543System.out.println("Button = "+button + "Modifiers = "+ modifiers + " standard = "+ modifiersStandard);544System.out.println(" ModifiersEx = "+ modifiersEx + " standardEx = "+ modifiersExStandard);545}546547private static int[] getStandardExArray(int testModifier) {548int [] curStandardExModifiers;549switch (testModifier){550case SHIFT:551curStandardExModifiers = modifiersExStandardTestSHIFT;552break;553case CTRL:554curStandardExModifiers = modifiersExStandardTestCTRL;555break;556case ALT:557curStandardExModifiers = modifiersExStandardTestALT;558break;559default: //NONE by default560curStandardExModifiers = modifiersExStandardTestNONE;561}562return curStandardExModifiers;563}564565private static int[] getStandardArray(int testModifier) {566int [] curStandardModifiers;567switch (testModifier){568case SHIFT:569curStandardModifiers = modifiersStandardTestSHIFT;570break;571case CTRL:572curStandardModifiers = modifiersStandardTestCTRL;573break;574case ALT:575curStandardModifiers = modifiersStandardTestALT;576break;577default: //NONE by default578curStandardModifiers = modifiersStandardTestNONE;579}580return curStandardModifiers;581}582583}584585586/* A class that invoke appropriate verification587* routine with current modifier.588*/589class CheckingModifierAdapter extends MouseAdapter{590int modifier;591public CheckingModifierAdapter(int modifier){592this.modifier = modifier;593}594595public void mousePressed(MouseEvent e) {596System.out.println("PRESSED "+e);597if (e.getButton() > MouseEvent.BUTTON3) {598System.out.println("Extra button affected. Skip.");599} else {600MouseModifiersUnitTest_Standard.checkPressedModifiersTest(modifier, e); // e.getButton(), e.getModifiers(), e.getModifiersEx(),601}602}603public void mouseReleased(MouseEvent e) {604System.out.println("RELEASED "+e);605if (e.getButton() > MouseEvent.BUTTON3) {606System.out.println("Extra button affected. Skip.");607} else {608MouseModifiersUnitTest_Standard.checkReleasedModifiersTest(modifier, e); // e.getButton(), e.getModifiers(), e.getModifiersEx()609}610}611public void mouseClicked(MouseEvent e) {612System.out.println("CLICKED "+e);613if (e.getButton() > MouseEvent.BUTTON3) {614System.out.println("Extra button affected. Skip.");615} else {616MouseModifiersUnitTest_Standard.checkClickedModifiersTest(modifier, e); //e.getButton(), e.getModifiers(), e.getModifiersEx()617}618}619}620621622623