Module: wine Branch: master Commit: d437d61c57e8181c35034b46b4a9a233f87652e5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d437d61c57e8181c35034b46b4...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Mon Jan 2 11:59:44 2017 +0300
user32/tests: Added some tests for FindWindow().
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 ca99de4..4640109 100644 --- a/dlls/user32/tests/win.c +++ b/dlls/user32/tests/win.c @@ -7978,6 +7978,16 @@ static void test_FindWindowEx(void) 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" ); ok( num_gettext_msgs == 0, "got %u WM_GETTEXT messages\n", num_gettext_msgs ); @@ -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",