Dmitry Timoshkov : user32/tests: Add a focus test for an empty dialog that returns TRUE in WM_INITDIALOG.
Alexandre Julliard
julliard at winehq.org
Sun Mar 3 13:21:31 CST 2019
Module: wine
Branch: oldstable
Commit: 9f67fc88b1e72560328909d38db31817e3a12dc2
URL: https://source.winehq.org/git/wine.git/?a=commit;h=9f67fc88b1e72560328909d38db31817e3a12dc2
Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date: Wed Nov 28 09:03:11 2018 +0300
user32/tests: Add a focus test for an empty dialog that returns TRUE in WM_INITDIALOG.
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 87d194dd1de7ab1473a805a8d4c5602a8d2d2f53)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
dlls/user32/tests/msg.c | 42 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 41 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index e7c75eb..baa232f 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -12864,6 +12864,8 @@ static INT_PTR WINAPI test_dlg_proc(HWND hwnd, UINT message, WPARAM wParam, LPAR
switch (message)
{
case WM_INITDIALOG:
+ return lParam;
+
case WM_GETDLGCODE:
return 0;
}
@@ -12972,6 +12974,20 @@ static const struct message WmDefDlgSetFocus_2[] = {
{ 0 }
};
/* Creation of a dialog */
+static const struct message WmCreateDialogParamSeq_0[] = {
+ { HCBT_CREATEWND, hook },
+ { WM_NCCREATE, sent },
+ { WM_NCCALCSIZE, sent|wparam, 0 },
+ { WM_CREATE, sent },
+ { EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam, 0, 0 },
+ { WM_SIZE, sent|wparam, SIZE_RESTORED },
+ { WM_MOVE, sent },
+ { WM_SETFONT, sent },
+ { WM_INITDIALOG, sent },
+ { WM_CHANGEUISTATE, sent|optional },
+ { 0 }
+};
+/* Creation of a dialog */
static const struct message WmCreateDialogParamSeq_1[] = {
{ HCBT_CREATEWND, hook },
{ WM_NCCREATE, sent },
@@ -12982,6 +12998,14 @@ static const struct message WmCreateDialogParamSeq_1[] = {
{ WM_MOVE, sent },
{ WM_SETFONT, sent },
{ WM_INITDIALOG, sent },
+ { WM_GETDLGCODE, sent|wparam|lparam, 0, 0 },
+ { HCBT_SETFOCUS, hook },
+ { HCBT_ACTIVATE, hook },
+ { WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOSIZE|SWP_NOMOVE },
+ { WM_ACTIVATEAPP, sent|wparam, 1 },
+ { WM_NCACTIVATE, sent },
+ { WM_ACTIVATE, sent|wparam, 1 },
+ { WM_SETFOCUS, sent },
{ WM_CHANGEUISTATE, sent|optional },
{ 0 }
};
@@ -13145,9 +13169,25 @@ static void test_dialog_messages(void)
cls.lpfnWndProc = test_dlg_proc;
if (!RegisterClassA(&cls)) assert(0);
+ SetFocus(0);
+ flush_sequence();
hdlg = CreateDialogParamA(0, "CLASS_TEST_DIALOG_2", 0, test_dlg_proc, 0);
ok(IsWindow(hdlg), "CreateDialogParam failed\n");
- ok_sequence(WmCreateDialogParamSeq_1, "CreateDialogParam_1", FALSE);
+ ok_sequence(WmCreateDialogParamSeq_0, "CreateDialogParam_0", FALSE);
+ hfocus = GetFocus();
+ ok(hfocus == 0, "wrong focus %p\n", hfocus);
+ EndDialog(hdlg, 0);
+ DestroyWindow(hdlg);
+ flush_sequence();
+
+ SetFocus(0);
+ flush_sequence();
+ hdlg = CreateDialogParamA(0, "CLASS_TEST_DIALOG_2", 0, test_dlg_proc, 1);
+ ok(IsWindow(hdlg), "CreateDialogParam failed\n");
+ ok_sequence(WmCreateDialogParamSeq_1, "CreateDialogParam_1", TRUE);
+ hfocus = GetFocus();
+todo_wine
+ ok(hfocus == hdlg, "wrong focus %p\n", hfocus);
EndDialog(hdlg, 0);
DestroyWindow(hdlg);
flush_sequence();
More information about the wine-cvs
mailing list