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