3 import static org.testng.Assert.assertFalse;
4 import static org.testng.Assert.assertTrue;
6 import jalview.gui.JvOptionPane;
8 import java.awt.Button;
10 import java.awt.event.MouseEvent;
12 import org.testng.annotations.BeforeClass;
13 import org.testng.annotations.Test;
15 public class PlatformTest
18 @BeforeClass(alwaysRun = true)
19 public void setUpJvOptionPane()
21 JvOptionPane.setInteractiveMode(false);
22 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
25 Button b = new Button();
28 * isControlDown for Mac should answer true for Meta-down, but not for right
29 * mouse (popup trigger)
31 @Test(groups = "Functional")
32 public void testIsControlDown_mac()
35 boolean isPopupTrigger = false;
36 int buttonNo = MouseEvent.BUTTON1;
40 // not concerned with MouseEvent id, when, x, y, xAbs, yAbs values
41 assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
42 0, 0, clickCount, isPopupTrigger, buttonNo), mac));
44 mods = Event.CTRL_MASK;
45 assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
46 0, 0, clickCount, isPopupTrigger, buttonNo), mac));
48 mods = Event.META_MASK;
49 assertTrue(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
50 0, 0, clickCount, isPopupTrigger, buttonNo), mac));
52 isPopupTrigger = true;
53 assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
54 0, 0, clickCount, isPopupTrigger, buttonNo), mac));
56 isPopupTrigger = false;
57 buttonNo = MouseEvent.BUTTON2;
59 assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
60 0, 0, clickCount, isPopupTrigger, buttonNo), mac));
64 * If not a Mac, we only care whether CTRL_MASK modifier is set on the mouse
67 @Test(groups = "Functional")
68 public void testIsControlDown_notMac()
71 boolean isPopupTrigger = false;
72 int buttonNo = MouseEvent.BUTTON1;
76 // not concerned with MouseEvent id, when, x, y, xAbs, yAbs values
77 assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
78 0, 0, clickCount, isPopupTrigger, buttonNo), mac));
80 mods = Event.CTRL_MASK;
81 assertTrue(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
82 0, 0, clickCount, isPopupTrigger, buttonNo), mac));
84 mods = Event.CTRL_MASK | Event.SHIFT_MASK | Event.ALT_MASK;
87 isPopupTrigger = true;
88 assertTrue(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
89 0, 0, clickCount, isPopupTrigger, buttonNo), mac));