summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-07-09 12:16:47 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-07-09 12:25:45 +1000
commit1f2effef0b7c18ce123e434845efd90fc9644b6c (patch)
tree41c7ceab5023091aecac3dc017c1acdfb6cdcbef
parent192418d1deb99bba81292af8c8c889ac31760e9e (diff)
server/grab: move some helpers up the class hierarchy
We'll need one of them in a new test case Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--tests/server/grab.cpp112
1 files changed, 57 insertions, 55 deletions
diff --git a/tests/server/grab.cpp b/tests/server/grab.cpp
index 7c2b7a0..2119fa4 100644
--- a/tests/server/grab.cpp
+++ b/tests/server/grab.cpp
@@ -681,6 +681,63 @@ public:
"Option \"CoreKeyboard\" \"on\"\n");
config.WriteConfig();
}
+
+ /**
+ * Return a new synchronized client given our default server connection.
+ * Client is initialised for XI 2.2
+ */
+ virtual ::Display* NewClient(void) {
+ ::Display *d = XOpenDisplay(server.GetDisplayString().c_str());
+ if (!d)
+ ADD_FAILURE() << "Failed to open display for new client.\n";
+ XSynchronize(d, True);
+ int major = 2, minor = 2;
+ if (XIQueryVersion(d, &major, &minor) != Success)
+ ADD_FAILURE() << "XIQueryVersion failed on new client.\n";
+ return d;
+ }
+
+ virtual void GrabDevice(::Display *dpy, int deviceid, Window win, bool ownership = false)
+ {
+ XIEventMask mask;
+ mask.deviceid = deviceid;
+ mask.mask_len = XIMaskLen(XI_TouchOwnership);
+ mask.mask = new unsigned char[mask.mask_len]();
+
+ XISetMask(mask.mask, XI_TouchBegin);
+ XISetMask(mask.mask, XI_TouchEnd);
+ XISetMask(mask.mask, XI_TouchUpdate);
+
+ if (ownership)
+ XISetMask(mask.mask, XI_TouchOwnership);
+
+ ASSERT_EQ(Success, XIGrabDevice(dpy, deviceid,
+ win, CurrentTime, None,
+ GrabModeAsync, GrabModeAsync,
+ False, &mask));
+ delete[] mask.mask;
+ XSync(dpy, False);
+ }
+
+ virtual void GrabPointer(::Display *dpy, int deviceid, Window win)
+ {
+ XIEventMask mask;
+ mask.deviceid = deviceid;
+ mask.mask_len = XIMaskLen(XI_TouchOwnership);
+ mask.mask = new unsigned char[mask.mask_len]();
+
+ XISetMask(mask.mask, XI_ButtonPress);
+ XISetMask(mask.mask, XI_ButtonRelease);
+ XISetMask(mask.mask, XI_Motion);
+
+ ASSERT_EQ(Success, XIGrabDevice(dpy, deviceid,
+ win, CurrentTime, None,
+ GrabModeAsync, GrabModeAsync,
+ False, &mask));
+ delete[] mask.mask;
+ XSync(dpy, False);
+ }
+
};
TEST_F(TouchGrabTest, PassiveTouchGrabPassedToTouchClient)
@@ -1482,47 +1539,6 @@ public:
XSync(dpy, False);
}
- void GrabDevice(::Display *dpy, int deviceid, Window win, bool ownership = false)
- {
- XIEventMask mask;
- mask.deviceid = deviceid;
- mask.mask_len = XIMaskLen(XI_TouchOwnership);
- mask.mask = new unsigned char[mask.mask_len]();
-
- XISetMask(mask.mask, XI_TouchBegin);
- XISetMask(mask.mask, XI_TouchEnd);
- XISetMask(mask.mask, XI_TouchUpdate);
-
- if (ownership)
- XISetMask(mask.mask, XI_TouchOwnership);
-
- ASSERT_EQ(Success, XIGrabDevice(dpy, deviceid,
- win, CurrentTime, None,
- GrabModeAsync, GrabModeAsync,
- False, &mask));
- delete[] mask.mask;
- XSync(dpy, False);
- }
-
- void GrabPointer(::Display *dpy, int deviceid, Window win)
- {
- XIEventMask mask;
- mask.deviceid = deviceid;
- mask.mask_len = XIMaskLen(XI_TouchOwnership);
- mask.mask = new unsigned char[mask.mask_len]();
-
- XISetMask(mask.mask, XI_ButtonPress);
- XISetMask(mask.mask, XI_ButtonRelease);
- XISetMask(mask.mask, XI_Motion);
-
- ASSERT_EQ(Success, XIGrabDevice(dpy, deviceid,
- win, CurrentTime, None,
- GrabModeAsync, GrabModeAsync,
- False, &mask));
- delete[] mask.mask;
- XSync(dpy, False);
- }
-
void SelectTouchOnWindow(::Display *dpy, Window win, bool ownership = false)
{
XIEventMask mask;
@@ -1542,20 +1558,6 @@ public:
XSync(dpy, False);
}
- /**
- * Return a new synchronized client given our default server connection.
- * Client is initialised for XI 2.2
- */
- ::Display* NewClient(void) {
- ::Display *d = XOpenDisplay(server.GetDisplayString().c_str());
- if (!d)
- ADD_FAILURE() << "Failed to open display for new client.\n";
- XSynchronize(d, True);
- int major = 2, minor = 2;
- if (XIQueryVersion(d, &major, &minor) != Success)
- ADD_FAILURE() << "XIQueryVersion failed on new client.\n";
- return d;
- }
};
TEST_F(TouchOwnershipTest, OwnershipAfterRejectTouch)