Lucas Zawacki : dinput/tests: Test for keyboard GetCapabilities.
Alexandre Julliard
julliard at winehq.org
Mon Aug 20 14:16:18 CDT 2012
Module: wine
Branch: master
Commit: 5b3ccdf04ab7283f03455bbc921f9066abb11db7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5b3ccdf04ab7283f03455bbc921f9066abb11db7
Author: Lucas Zawacki <lfzawacki at gmail.com>
Date: Mon Aug 20 03:52:16 2012 -0300
dinput/tests: Test for keyboard GetCapabilities.
---
dlls/dinput/tests/keyboard.c | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/dlls/dinput/tests/keyboard.c b/dlls/dinput/tests/keyboard.c
index 4b46a61..6aab8a7 100644
--- a/dlls/dinput/tests/keyboard.c
+++ b/dlls/dinput/tests/keyboard.c
@@ -170,6 +170,29 @@ static void test_get_prop(LPDIRECTINPUT pDI, HWND hwnd)
if (pKeyboard) IUnknown_Release(pKeyboard);
}
+static void test_capabilities(LPDIRECTINPUT pDI, HWND hwnd)
+{
+ HRESULT hr;
+ LPDIRECTINPUTDEVICE pKeyboard = NULL;
+ DIDEVCAPS caps;
+
+ hr = IDirectInput_CreateDevice(pDI, &GUID_SysKeyboard, &pKeyboard, NULL);
+ ok(SUCCEEDED(hr), "IDirectInput_CreateDevice() failed: %08x\n", hr);
+ if (FAILED(hr)) return;
+
+ caps.dwSize = sizeof(caps);
+ hr = IDirectInputDevice_GetCapabilities(pKeyboard, &caps);
+
+ ok (SUCCEEDED(hr), "GetCapabilites failed: 0x%08x\n", hr);
+ ok (caps.dwFlags & DIDC_ATTACHED, "GetCapabilites dwFlags: 0x%08x\n", caps.dwFlags);
+ ok (LOWORD(LOBYTE(caps.dwDevType)) == DIDEVTYPE_KEYBOARD,
+ "GetCapabilities invalid device type for dwDevType: 0x%08x\n", caps.dwDevType);
+ todo_wine ok (LOWORD(HIBYTE(caps.dwDevType)) != DIDEVTYPEKEYBOARD_UNKNOWN,
+ "GetCapabilities invalid device subtype for dwDevType: 0x%08x\n", caps.dwDevType);
+
+ if (pKeyboard) IUnknown_Release(pKeyboard);
+}
+
static void keyboard_tests(DWORD version)
{
HRESULT hr;
@@ -196,6 +219,7 @@ static void keyboard_tests(DWORD version)
acquire_tests(pDI, hwnd);
test_set_coop(pDI, hwnd);
test_get_prop(pDI, hwnd);
+ test_capabilities(pDI, hwnd);
}
DestroyWindow(hwnd);
More information about the wine-cvs
mailing list