JAL-2272 another test case
[jalview.git] / test / jalview / util / PlatformTest.java
1 package jalview.util;
2
3 import static org.testng.Assert.assertFalse;
4 import static org.testng.Assert.assertTrue;
5
6 import java.awt.Button;
7 import java.awt.Event;
8 import java.awt.event.MouseEvent;
9
10 import org.testng.annotations.Test;
11
12 public class PlatformTest
13 {
14   Button b = new Button();
15
16   /**
17    * isControlDown for Mac should answer true for Meta-down, but not for right
18    * mouse (popup trigger)
19    */
20   @Test(groups = "Functional")
21   public void testIsControlDown_mac()
22   {
23     int clickCount = 1;
24     boolean isPopupTrigger = false;
25     int buttonNo = MouseEvent.BUTTON1;
26     boolean mac = true;
27
28     int mods = 0;
29     // not concerned with MouseEvent id, when, x, y, xAbs, yAbs values
30     assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
31             0, 0, clickCount, isPopupTrigger, buttonNo), mac));
32
33     mods = Event.CTRL_MASK;
34     assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
35             0, 0, clickCount, isPopupTrigger, buttonNo), mac));
36
37     mods = Event.META_MASK;
38     assertTrue(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
39             0, 0, clickCount, isPopupTrigger, buttonNo), mac));
40
41     isPopupTrigger = true;
42     assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
43             0, 0, clickCount, isPopupTrigger, buttonNo), mac));
44
45     isPopupTrigger = false;
46     buttonNo = MouseEvent.BUTTON2;
47     mods = 0;
48     assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
49             0, 0, clickCount, isPopupTrigger, buttonNo), mac));
50   }
51
52   /**
53    * If not a Mac, we only care whether CTRL_MASK modifier is set on the mouse
54    * event
55    */
56   @Test(groups = "Functional")
57   public void testIsControlDown_notMac()
58   {
59     int clickCount = 1;
60     boolean isPopupTrigger = false;
61     int buttonNo = MouseEvent.BUTTON1;
62     boolean mac = false;
63
64     int mods = 0;
65     // not concerned with MouseEvent id, when, x, y, xAbs, yAbs values
66     assertFalse(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
67             0, 0, clickCount, isPopupTrigger, buttonNo), mac));
68
69     mods = Event.CTRL_MASK;
70     assertTrue(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
71             0, 0, clickCount, isPopupTrigger, buttonNo), mac));
72
73     mods = Event.CTRL_MASK | Event.SHIFT_MASK | Event.ALT_MASK;
74     clickCount = 2;
75     buttonNo = 2;
76     isPopupTrigger = true;
77     assertTrue(Platform.isControlDown(new MouseEvent(b, 0, 0L, mods, 0, 0,
78             0, 0, clickCount, isPopupTrigger, buttonNo), mac));
79   }
80 }