diff --git a/rostests/apitests/user32/CMakeLists.txt b/rostests/apitests/user32/CMakeLists.txt index ffe58505419..12fb0e40deb 100644 --- a/rostests/apitests/user32/CMakeLists.txt +++ b/rostests/apitests/user32/CMakeLists.txt @@ -8,6 +8,7 @@ list(APPEND SOURCE ScrollWindowEx.c GetSystemMetrics.c GetIconInfo.c + GetPeekMessage.c testlist.c) add_executable(user32_apitest ${SOURCE}) diff --git a/rostests/apitests/user32/GetPeekMessage.c b/rostests/apitests/user32/GetPeekMessage.c new file mode 100644 index 00000000000..2cf24d2c71a --- /dev/null +++ b/rostests/apitests/user32/GetPeekMessage.c @@ -0,0 +1,42 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: GPL - See COPYING in the top level directory + * PURPOSE: Test for GetMessage/PeekMessage + * PROGRAMMERS: Thomas Faber + */ + +#include +#include +#include + +void Test_GetMessage(HWND hWnd) +{ + MSG msg; + + SetLastError(DNS_ERROR_RCODE_NXRRSET); + + ok(GetMessage(&msg, hWnd, 0, 0) == -1, "\n"); + ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE, "GetLastError() = %lu\n", GetLastError()); +} + +void Test_PeekMessage(HWND hWnd) +{ + MSG msg; + + SetLastError(DNS_ERROR_RCODE_NXRRSET); + + ok(PeekMessage(&msg, hWnd, 0, 0, PM_NOREMOVE) == 0, "\n"); + ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE, "GetLastError() = %lu\n", GetLastError()); +} + +START_TEST(GetPeekMessage) +{ + HWND hWnd = CreateWindowExW(0, L"EDIT", L"miau", 0, CW_USEDEFAULT, CW_USEDEFAULT, + CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, GetModuleHandle(NULL), NULL); + ok(hWnd != INVALID_HANDLE_VALUE, "\n"); + /* make sure we pass an invalid handle to GetMessage/PeekMessage */ + ok(DestroyWindow(hWnd), "\n"); + + Test_GetMessage(hWnd); + Test_PeekMessage(hWnd); +} diff --git a/rostests/apitests/user32/testlist.c b/rostests/apitests/user32/testlist.c index 34825a26a8f..b37d7ca0607 100644 --- a/rostests/apitests/user32/testlist.c +++ b/rostests/apitests/user32/testlist.c @@ -11,6 +11,7 @@ extern void func_ScrollDC(void); extern void func_ScrollWindowEx(void); extern void func_GetSystemMetrics(void); extern void func_GetIconInfo(void); +extern void func_GetPeekMessage(void); const struct test winetest_testlist[] = { @@ -20,6 +21,7 @@ const struct test winetest_testlist[] = { "ScrollWindowEx", func_ScrollWindowEx }, { "GetSystemMetrics", func_GetSystemMetrics }, { "GetIconInfo", func_GetIconInfo }, + { "GetPeekMessage", func_GetPeekMessage }, { 0, 0 } }; diff --git a/rostests/apitests/user32/user32_apitest.rbuild b/rostests/apitests/user32/user32_apitest.rbuild index 26f269c38fb..251ad031870 100644 --- a/rostests/apitests/user32/user32_apitest.rbuild +++ b/rostests/apitests/user32/user32_apitest.rbuild @@ -15,6 +15,7 @@ ScrollWindowEx.c GetSystemMetrics.c GetIconInfo.c + GetPeekMessage.c