Vitaliy Margolen : dinput: Add SetCooperativeLevel test for joystick.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Oct 17 06:12:31 CDT 2006


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

Author: Vitaliy Margolen <wine-patch at kievinfo.com>
Date:   Sun Oct 15 11:30:38 2006 -0600

dinput: Add SetCooperativeLevel test for joystick.

---

 dlls/dinput/tests/joystick.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/dlls/dinput/tests/joystick.c b/dlls/dinput/tests/joystick.c
index a465809..ad13bca 100644
--- a/dlls/dinput/tests/joystick.c
+++ b/dlls/dinput/tests/joystick.c
@@ -123,6 +123,18 @@ static BOOL CALLBACK EnumAxes(
     return DIENUM_CONTINUE;
 }
 
+static const HRESULT SetCoop_null_window[16] =  {
+    E_INVALIDARG, E_INVALIDARG, E_INVALIDARG, E_INVALIDARG,
+    E_INVALIDARG, E_HANDLE,     E_HANDLE,     E_INVALIDARG,
+    E_INVALIDARG, E_HANDLE,     S_OK,         E_INVALIDARG,
+    E_INVALIDARG, E_INVALIDARG, E_INVALIDARG, E_INVALIDARG};
+
+static const HRESULT SetCoop_real_window[16] =  {
+    E_INVALIDARG, E_INVALIDARG, E_INVALIDARG, E_INVALIDARG,
+    E_INVALIDARG, S_OK,         S_OK,         E_INVALIDARG,
+    E_INVALIDARG, S_OK,         S_OK,         E_INVALIDARG,
+    E_INVALIDARG, E_INVALIDARG, E_INVALIDARG, E_INVALIDARG};
+
 static BOOL CALLBACK EnumJoysticks(
     LPCDIDEVICEINSTANCE lpddi,
     LPVOID pvRef)
@@ -193,6 +205,17 @@ static BOOL CALLBACK EnumJoysticks(
     if (hr != DI_OK)
         goto RELEASE;
 
+    for (i=0; i<16; i++)
+    {
+        hr = IDirectInputDevice_SetCooperativeLevel(pJoystick, NULL, i);
+        ok(hr == SetCoop_null_window[i], "SetCooperativeLevel(NULL, %d): %s\n", i, DXGetErrorString8(hr));
+    }
+    for (i=0; i<16; i++)
+    {
+        hr = IDirectInputDevice_SetCooperativeLevel(pJoystick, hWnd, i);
+        ok(hr == SetCoop_real_window[i], "SetCooperativeLevel(hwnd, %d): %s\n", i, DXGetErrorString8(hr));
+    }
+
     hr = IDirectInputDevice_SetCooperativeLevel(pJoystick, hWnd,
                                                 DISCL_NONEXCLUSIVE | DISCL_BACKGROUND);
     ok(hr==DI_OK,"IDirectInputDevice_SetCooperativeLevel() failed: %s\n",




More information about the wine-cvs mailing list