Andrew Fenn : xinput1_3: Added tests for XInputSetState.

Alexandre Julliard julliard at winehq.org
Fri Jan 2 08:25:44 CST 2009


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

Author: Andrew Fenn <andrewfenn at gmail.com>
Date:   Thu Jan  1 08:06:34 2009 +0700

xinput1_3: Added tests for XInputSetState.

---

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

diff --git a/dlls/xinput1_3/tests/xinput.c b/dlls/xinput1_3/tests/xinput.c
index 1125dcc..4b7f130 100644
--- a/dlls/xinput1_3/tests/xinput.c
+++ b/dlls/xinput1_3/tests/xinput.c
@@ -25,6 +25,37 @@
 
 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 void test_set_state(void)
+{
+    XINPUT_VIBRATION vibrator;
+    DWORD controllerNum;
+    DWORD result;
+
+    for(controllerNum=0; controllerNum < XUSER_MAX_COUNT; controllerNum++)
+    {
+        ZeroMemory(&vibrator, sizeof(XINPUT_VIBRATION));
+
+        vibrator.wLeftMotorSpeed = 0;
+        vibrator.wRightMotorSpeed = 0;
+        result = pXInputSetState(controllerNum, &vibrator);
+        ok(result == ERROR_SUCCESS || result == ERROR_DEVICE_NOT_CONNECTED, "XInputSetState failed with (%d)\n", result);
+
+        pXInputEnable(0);
+
+        vibrator.wLeftMotorSpeed = 65535;
+        vibrator.wRightMotorSpeed = 65535;
+        result = pXInputSetState(controllerNum, &vibrator);
+        ok(result == ERROR_SUCCESS || result == ERROR_DEVICE_NOT_CONNECTED, "XInputSetState failed with (%d)\n", result);
+
+        pXInputEnable(1);
+    }
+
+    result = pXInputSetState(XUSER_MAX_COUNT+1, &vibrator);
+    ok(result == ERROR_BAD_ARGUMENTS, "XInputSetState returned (%d)\n", result);
+}
 
 static void test_get_state(void)
 {
@@ -100,8 +131,11 @@ START_TEST(xinput)
         return;
     }
 
+    pXInputEnable = (void*)GetProcAddress(hXinput, "XInputEnable");
+    pXInputSetState = (void*)GetProcAddress(hXinput, "XInputSetState");
     pXInputGetState = (void*)GetProcAddress(hXinput, "XInputGetState");
     pXInputGetCapabilities = (void*)GetProcAddress(hXinput, "XInputGetCapabilities");
+    test_set_state();
     test_get_state();
     test_get_capabilities();
     FreeLibrary(hXinput);




More information about the wine-cvs mailing list