Rémi Bernon : user32/tests: Add more GetRawInputData tests.
Alexandre Julliard
julliard at winehq.org
Tue Jul 7 15:47:08 CDT 2020
Module: wine
Branch: master
Commit: b58a899acc9b6c2c02c78223b74db2822fe1ebb4
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b58a899acc9b6c2c02c78223b74db2822fe1ebb4
Author: Rémi Bernon <rbernon at codeweavers.com>
Date: Mon Jul 6 12:04:49 2020 +0200
user32/tests: Add more GetRawInputData tests.
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/user32/tests/input.c | 38 +++++++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
index bab0fd9753..fd401b330d 100644
--- a/dlls/user32/tests/input.c
+++ b/dlls/user32/tests/input.c
@@ -1757,8 +1757,11 @@ static void test_GetRawInputData(void)
UINT ret;
/* Null raw input handle */
+ SetLastError(0xdeadbeef);
ret = GetRawInputData(NULL, RID_INPUT, NULL, &size, sizeof(RAWINPUTHEADER));
ok(ret == ~0U, "Expect ret %u, got %u\n", ~0U, ret);
+ todo_wine
+ ok(GetLastError() == ERROR_INVALID_HANDLE, "GetRawInputData returned %08x\n", GetLastError());
}
static void test_RegisterRawInputDevices(void)
@@ -1906,14 +1909,47 @@ static LRESULT CALLBACK rawinputbuffer_wndproc(HWND hwnd, UINT msg, WPARAM wpara
* from the first message has been overwritten. */
size = sizeof(ri);
memset(&ri, 0, sizeof(ri));
- count = GetRawInputData((HRAWINPUT)lparam, RID_INPUT, &ri, &size, sizeof(RAWINPUTHEADER));
+ SetLastError(0xdeadbeef);
+ count = GetRawInputData((HRAWINPUT)lparam, RID_HEADER, &ri, &size, sizeof(RAWINPUTHEADER));
if (iteration == 1)
{
+ SetLastError(0xdeadbeef);
+ count = GetRawInputData((HRAWINPUT)lparam, RID_INPUT, &ri, &size, 0);
+ ok(count == ~0U, "GetRawInputData succeeded\n");
+ todo_wine
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "GetRawInputData returned %08x\n", GetLastError());
+
+ SetLastError(0xdeadbeef);
+ size = 0;
+ count = GetRawInputData((HRAWINPUT)lparam, RID_INPUT, &ri, &size, sizeof(RAWINPUTHEADER));
+ ok(count == ~0U, "GetRawInputData succeeded\n");
+ todo_wine
+ ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "GetRawInputData returned %08x\n", GetLastError());
+
+ SetLastError(0xdeadbeef);
+ size = sizeof(ri);
+ count = GetRawInputData((HRAWINPUT)lparam, 0, &ri, &size, sizeof(RAWINPUTHEADER));
+ ok(count == ~0U, "GetRawInputData succeeded\n");
+ todo_wine
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "GetRawInputData returned %08x\n", GetLastError());
+
+ SetLastError(0xdeadbeef);
+ size = sizeof(ri);
+ count = GetRawInputData((HRAWINPUT)lparam, RID_INPUT, &ri, &size, sizeof(RAWINPUTHEADER));
+ todo_wine
ok(count == sizeof(ri), "GetRawInputData failed\n");
+ todo_wine
ok(ri.data.mouse.lLastX == 6, "Unexpected rawinput data: %d\n", ri.data.mouse.lLastX);
+ ok(GetLastError() == 0xdeadbeef, "GetRawInputData returned %08x\n", GetLastError());
}
else
+ {
ok(count == ~0U, "GetRawInputData succeeded\n");
+ todo_wine
+ ok(GetLastError() == ERROR_INVALID_HANDLE, "GetRawInputData returned %08x\n", GetLastError());
+ }
+
+ return 0;
}
return DefWindowProcA(hwnd, msg, wparam, lparam);
More information about the wine-cvs
mailing list