Module: wine Branch: master Commit: 35ee9b05d9077faf3111865a56363b021c527846 URL: http://source.winehq.org/git/wine.git/?a=commit;h=35ee9b05d9077faf3111865a56...
Author: Vitaliy Margolen wine-patch@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",