Andrew Fenn : xinput1_3: Added tests for XInputGetKeystroke.

Alexandre Julliard julliard at winehq.org
Wed Jan 7 10:57:01 CST 2009


Module: wine
Branch: master
Commit: 1b3feb2a5c2bc8f1ca3b533885f8afb102b6bbc7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1b3feb2a5c2bc8f1ca3b533885f8afb102b6bbc7

Author: Andrew Fenn <andrewfenn at gmail.com>
Date:   Tue Jan  6 20:48:19 2009 +0700

xinput1_3: Added tests for XInputGetKeystroke.

---

 dlls/xinput1_3/tests/xinput.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/dlls/xinput1_3/tests/xinput.c b/dlls/xinput1_3/tests/xinput.c
index 4b7f130..c137b0c 100644
--- a/dlls/xinput1_3/tests/xinput.c
+++ b/dlls/xinput1_3/tests/xinput.c
@@ -27,6 +27,7 @@ static DWORD (WINAPI *pXInputGetState)(DWORD, XINPUT_STATE*);
 static DWORD (WINAPI *pXInputGetCapabilities)(DWORD,DWORD,XINPUT_CAPABILITIES*);
 static DWORD (WINAPI *pXInputSetState)(DWORD, XINPUT_VIBRATION*);
 static void  (WINAPI *pXInputEnable)(BOOL);
+static DWORD (WINAPI *pXInputGetKeystroke)(DWORD, DWORD, PXINPUT_KEYSTROKE);
 
 static void test_set_state(void)
 {
@@ -96,6 +97,30 @@ static void test_get_state(void)
     ok(result == ERROR_BAD_ARGUMENTS, "XInputGetState returned (%d)\n", result);
 }
 
+static void test_get_keystroke(void)
+{
+    XINPUT_KEYSTROKE keystroke;
+    DWORD controllerNum;
+    DWORD result;
+
+    for(controllerNum=0; controllerNum < XUSER_MAX_COUNT; controllerNum++)
+    {
+        ZeroMemory(&keystroke, sizeof(XINPUT_KEYSTROKE));
+
+        result = pXInputGetKeystroke(controllerNum, XINPUT_FLAG_GAMEPAD, &keystroke);
+        ok(result == ERROR_SUCCESS || result == ERROR_DEVICE_NOT_CONNECTED, "XInputGetKeystroke failed with (%d)\n", result);
+
+        if (ERROR_DEVICE_NOT_CONNECTED == result)
+        {
+            skip("Controller %d is not connected\n", controllerNum);
+        }
+    }
+
+    ZeroMemory(&keystroke, sizeof(XINPUT_KEYSTROKE));
+    result = pXInputGetKeystroke(XUSER_MAX_COUNT+1, XINPUT_FLAG_GAMEPAD, &keystroke);
+    ok(result == ERROR_BAD_ARGUMENTS, "XInputGetKeystroke returned (%d)\n", result);
+}
+
 static void test_get_capabilities(void)
 {
     XINPUT_CAPABILITIES capabilities;
@@ -134,9 +159,11 @@ START_TEST(xinput)
     pXInputEnable = (void*)GetProcAddress(hXinput, "XInputEnable");
     pXInputSetState = (void*)GetProcAddress(hXinput, "XInputSetState");
     pXInputGetState = (void*)GetProcAddress(hXinput, "XInputGetState");
+    pXInputGetKeystroke = (void*)GetProcAddress(hXinput, "XInputGetKeystroke");
     pXInputGetCapabilities = (void*)GetProcAddress(hXinput, "XInputGetCapabilities");
     test_set_state();
     test_get_state();
+    test_get_keystroke();
     test_get_capabilities();
     FreeLibrary(hXinput);
 }




More information about the wine-cvs mailing list