From d437d61c57e8181c35034b46b4a9a233f87652e5 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Mon, 2 Jan 2017 11:59:44 +0300 Subject: [PATCH] user32/tests: Added some tests for FindWindow(). Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/user32/tests/win.c | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c index ca99de4543b..46401092599 100644 --- a/dlls/user32/tests/win.c +++ b/dlls/user32/tests/win.c @@ -7977,6 +7977,16 @@ static void test_FindWindowEx(void) hwnd = CreateWindowExA( 0, "MainWindowClass", "caption", WS_POPUP, 0,0,0,0, 0, 0, 0, NULL ); ok( hwnd != 0, "CreateWindowExA error %d\n", GetLastError() ); + num_gettext_msgs = 0; + found = FindWindowExA( 0, 0, "ClassThatDoesntExist", "" ); + ok( found == NULL, "expected a NULL hwnd\n" ); + ok( num_gettext_msgs == 0, "got %u WM_GETTEXT messages\n", num_gettext_msgs ); + + num_gettext_msgs = 0; + found = FindWindowExA( 0, 0, "ClassThatDoesntExist", NULL ); + ok( found == NULL, "expected a NULL hwnd\n" ); + ok( num_gettext_msgs == 0, "got %u WM_GETTEXT messages\n", num_gettext_msgs ); + num_gettext_msgs = 0; found = FindWindowExA( 0, 0, "MainWindowClass", "" ); ok( found == NULL, "expected a NULL hwnd\n" ); @@ -8016,6 +8026,62 @@ static void test_FindWindowEx(void) ok( found != NULL, "found is NULL, expected a valid hwnd\n" ); } +static void test_FindWindow(void) +{ + HWND hwnd, found; + + hwnd = CreateWindowExA( 0, "MainWindowClass", "caption", WS_POPUP, 0,0,0,0, 0, 0, 0, NULL ); + ok( hwnd != 0, "CreateWindowExA error %d\n", GetLastError() ); + + num_gettext_msgs = 0; + found = FindWindowA( "ClassThatDoesntExist", "" ); + ok( found == NULL, "expected a NULL hwnd\n" ); + ok( num_gettext_msgs == 0, "got %u WM_GETTEXT messages\n", num_gettext_msgs ); + + num_gettext_msgs = 0; + found = FindWindowA( "ClassThatDoesntExist", NULL ); + ok( found == NULL, "expected a NULL hwnd\n" ); + ok( num_gettext_msgs == 0, "got %u WM_GETTEXT messages\n", num_gettext_msgs ); + + num_gettext_msgs = 0; + found = FindWindowA( "MainWindowClass", "" ); + ok( found == NULL, "expected a NULL hwnd\n" ); + ok( num_gettext_msgs == 0, "got %u WM_GETTEXT messages\n", num_gettext_msgs ); + + num_gettext_msgs = 0; + found = FindWindowA( "MainWindowClass", NULL ); + ok( found == hwnd, "found is %p, expected a valid hwnd\n", found ); + ok( num_gettext_msgs == 0, "got %u WM_GETTEXT messages\n", num_gettext_msgs ); + + num_gettext_msgs = 0; + found = FindWindowA( "MainWindowClass", "caption" ); + ok( found == hwnd, "found is %p, expected a valid hwnd\n", found ); + ok( num_gettext_msgs == 0, "got %u WM_GETTEXT messages\n", num_gettext_msgs ); + + DestroyWindow( hwnd ); + + hwnd = CreateWindowExA( 0, "MainWindowClass", NULL, WS_POPUP, 0,0,0,0, 0, 0, 0, NULL ); + ok( hwnd != 0, "CreateWindowExA error %d\n", GetLastError() ); + + num_gettext_msgs = 0; + found = FindWindowA( "MainWindowClass", "" ); + ok( found == hwnd, "found is %p, expected a valid hwnd\n", found ); + ok( num_gettext_msgs == 0, "got %u WM_GETTEXT messages\n", num_gettext_msgs ); + + num_gettext_msgs = 0; + found = FindWindowA( "MainWindowClass", NULL ); + ok( found == hwnd, "found is %p, expected a valid hwnd\n", found ); + ok( num_gettext_msgs == 0, "got %u WM_GETTEXT messages\n", num_gettext_msgs ); + + DestroyWindow( hwnd ); + + /* test behaviour with a window title that is an empty character */ + found = FindWindowA( "Shell_TrayWnd", "" ); + ok( found != NULL, "found is NULL, expected a valid hwnd\n" ); + found = FindWindowA( "Shell_TrayWnd", NULL ); + ok( found != NULL, "found is NULL, expected a valid hwnd\n" ); +} + static void test_GetLastActivePopup(void) { HWND hwndOwner, hwndPopup1, hwndPopup2; @@ -9500,6 +9566,7 @@ START_TEST(win) /* make sure that these tests are executed first */ test_FindWindowEx(); + test_FindWindow(); test_SetParent(); hwndMain2 = CreateWindowExA(/*WS_EX_TOOLWINDOW*/ 0, "MainWindowClass", "Main window 2",