Akihiro Sagawa : dinput/tests: Skip DIK code tests if the keyboard type doesn't match.
Alexandre Julliard
julliard at winehq.org
Fri Aug 17 12:33:09 CDT 2018
Module: wine
Branch: master
Commit: 93b0080ba333afde8f4492ddde0250d0f8ce454d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=93b0080ba333afde8f4492ddde0250d0f8ce454d
Author: Akihiro Sagawa <sagawa.aki at gmail.com>
Date: Fri Aug 17 17:14:58 2018 +0900
dinput/tests: Skip DIK code tests if the keyboard type doesn't match.
Signed-off-by: Akihiro Sagawa <sagawa.aki at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/dinput/tests/keyboard.c | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/dlls/dinput/tests/keyboard.c b/dlls/dinput/tests/keyboard.c
index 151c691..e88cfea 100644
--- a/dlls/dinput/tests/keyboard.c
+++ b/dlls/dinput/tests/keyboard.c
@@ -316,17 +316,23 @@ static void test_dik_codes(IDirectInputA *dI, HWND hwnd, LANGID langid)
{
LANGID langid;
const struct key2dik *map;
+ DWORD type;
} expected[] =
{
- { MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), key2dik_en },
- { MAKELANGID(LANG_FRENCH, SUBLANG_FRENCH), key2dik_fr },
- { MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN), key2dik_de },
- { MAKELANGID(LANG_JAPANESE, SUBLANG_JAPANESE_JAPAN), key2dik_en }
+ { MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT),
+ key2dik_en, DIDEVTYPEKEYBOARD_PCENH },
+ { MAKELANGID(LANG_FRENCH, SUBLANG_FRENCH),
+ key2dik_fr, DIDEVTYPEKEYBOARD_PCENH },
+ { MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN),
+ key2dik_de, DIDEVTYPEKEYBOARD_PCENH },
+ { MAKELANGID(LANG_JAPANESE, SUBLANG_JAPANESE_JAPAN),
+ key2dik_en, DIDEVTYPEKEYBOARD_JAPAN106 }
};
const struct key2dik *map = NULL;
UINT i;
HRESULT hr;
IDirectInputDeviceA *device;
+ DIDEVCAPS caps;
HKL hkl, hkl_orig;
MSG msg;
@@ -347,6 +353,14 @@ static void test_dik_codes(IDirectInputA *dI, HWND hwnd, LANGID langid)
ok(hr == S_OK, "SetDataFormat() failed: %08x\n", hr);
hr = IDirectInputDevice_Acquire(device);
ok(hr == S_OK, "Acquire() failed: %08x\n", hr);
+ caps.dwSize = sizeof( caps );
+ hr = IDirectInputDevice_GetCapabilities(device, &caps);
+ ok(hr == S_OK, "GetDeviceInstance() failed: %08x\n", hr);
+ if (expected[i].type != GET_DIDEVICE_SUBTYPE(caps.dwDevType)) {
+ skip("Keyboard type(%u) doesn't match for lang %04x\n",
+ GET_DIDEVICE_SUBTYPE(caps.dwDevType), langid);
+ goto fail;
+ }
hkl = activate_keyboard_layout(langid, &hkl_orig);
if (!hkl) goto fail;
More information about the wine-cvs
mailing list