Commit dbc10ef9 authored by Lucas Zawacki's avatar Lucas Zawacki Committed by Alexandre Julliard

dinput/tests: Tests for IDirectInputJoyConfig8_GetConfig.

parent fc944144
......@@ -22,6 +22,7 @@
#include <initguid.h>
#include <windows.h>
#include <dinput.h>
#include <dinputd.h>
#include "wine/test.h"
......@@ -562,6 +563,48 @@ static void test_RunControlPanel(void)
IDirectInput_Release(pDI);
}
static void test_DirectInputJoyConfig8(void)
{
IDirectInputA *pDI;
IDirectInputDeviceA *pDID;
IDirectInputJoyConfig8 *pDIJC;
DIJOYCONFIG info;
HRESULT hr;
int i;
hr = DirectInputCreateA(hInstance, DIRECTINPUT_VERSION, &pDI, NULL);
if (FAILED(hr))
{
win_skip("Failed to instantiate a IDirectInputA instance: 0x%08x\n", hr);
return;
}
hr = IDirectInput_QueryInterface(pDI, &IID_IDirectInputJoyConfig8, (void **)&pDIJC);
if (FAILED(hr))
{
win_skip("Failed to instantiate a IDirectInputJoyConfig8 instance: 0x%08x\n", hr);
return;
}
info.dwSize = sizeof(info);
hr = DI_OK;
i = 0;
/* Enumerate all connected joystick GUIDs and try to create the respective devices */
for (i = 0; SUCCEEDED(hr); i++)
{
hr = IDirectInputJoyConfig8_GetConfig(pDIJC, i, &info, DIJC_GUIDINSTANCE);
todo_wine ok (hr == DI_OK || hr == DIERR_NOMOREITEMS,
"IDirectInputJoyConfig8_GetConfig returned 0x%08x\n", hr);
if (SUCCEEDED(hr))
todo_wine ok (SUCCEEDED(IDirectInput_CreateDevice(pDI, &info.guidInstance, &pDID, NULL)),
"IDirectInput_CreateDevice failed with guid from GetConfig hr = 0x%08x\n", hr);
}
}
START_TEST(dinput)
{
HMODULE dinput_mod = GetModuleHandleA("dinput.dll");
......@@ -579,5 +622,6 @@ START_TEST(dinput)
test_GetDeviceStatus();
test_Initialize();
test_RunControlPanel();
test_DirectInputJoyConfig8();
CoUninitialize();
}
......@@ -44,6 +44,8 @@ typedef BOOL (CALLBACK *LPDIJOYTYPECALLBACK)(LPCWSTR, LPVOID);
#define JOY_POVVAL_LEFT 2
#define JOY_POVVAL_RIGHT 3
#define DIERR_NOMOREITEMS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_NO_MORE_ITEMS)
typedef struct joypos_tag
{
DWORD dwX;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment