[PATCH v2 4/5] user32/tests: Add missing winevents to test_messages() message sequences.
Connor McAdams
cmcadams at codeweavers.com
Wed Sep 15 00:37:52 CDT 2021
Signed-off-by: Connor McAdams <cmcadams at codeweavers.com>
---
dlls/user32/tests/msg.c | 43 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 42 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index f267a085f61..a69e8d48886 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -387,6 +387,7 @@ static const struct message WmSwitchNotMaximizedChild[] = {
{ WM_KILLFOCUS, sent|defwinproc }, /* in the 1st MDI child */
{ WM_IME_SETCONTEXT, sent|defwinproc|optional }, /* in the 1st MDI child */
{ WM_IME_SETCONTEXT, sent|optional }, /* in the MDI client */
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent, 0 }, /* in the MDI client */
{ HCBT_SETFOCUS, hook },
{ WM_KILLFOCUS, sent }, /* in the MDI client */
@@ -559,6 +560,8 @@ static const struct message WmShowRestoreMaxOverlappedSeq[] = {
{ WM_GETTITLEBARINFOEX, sent|optional },
{ WM_NCPAINT, sent|beginpaint|optional },
{ WM_ERASEBKGND, sent|beginpaint|optional },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Win7 seems to send this twice. */
{ WM_SYNCPAINT, sent|optional },
{ 0 }
};
@@ -571,13 +574,17 @@ static const struct message WmShowRestoreMinOverlappedSeq[] = {
{ WM_WINDOWPOSCHANGING, sent|optional }, /* SWP_NOSIZE|SWP_NOMOVE */
{ WM_WINDOWPOSCHANGED, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE },
{ WM_NCCALCSIZE, sent|wparam|optional, TRUE },
+ { EVENT_OBJECT_REORDER, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Sent on Win7. */
{ WM_MOVE, sent|optional },
{ WM_SIZE, sent|wparam|optional, SIZE_RESTORED },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Sent on Win7. */
{ WM_GETTEXT, sent|optional },
{ WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_FRAMECHANGED|SWP_STATECHANGED|SWP_NOCOPYBITS },
{ WM_GETMINMAXINFO, sent|defwinproc|optional },
{ WM_NCCALCSIZE, sent|wparam|optional, TRUE },
+ { EVENT_OBJECT_REORDER, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Sent on Win10. */
{ HCBT_ACTIVATE, hook|optional },
+ { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|optional, 0, 0 },
{ WM_QUERYNEWPALETTE, sent|wparam|lparam|optional, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE },
{ WM_ACTIVATEAPP, sent|wparam|optional, 1 },
@@ -587,6 +594,7 @@ static const struct message WmShowRestoreMinOverlappedSeq[] = {
{ HCBT_SETFOCUS, hook|optional },
{ WM_IME_SETCONTEXT, sent|wparam|defwinproc|optional, 1 },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|wparam|defwinproc|optional, 0 },
{ WM_GETTEXT, sent|optional },
{ WM_NCPAINT, sent|wparam|optional, 1 },
@@ -600,7 +608,11 @@ static const struct message WmShowRestoreMinOverlappedSeq[] = {
{ WM_NCCALCSIZE, sent|wparam|optional, TRUE },
{ WM_NCPAINT, sent|wparam|optional, 1 },
{ WM_ERASEBKGND, sent|optional },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Win7 seems to send this twice. */
+ { EVENT_SYSTEM_MINIMIZEEND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ HCBT_SETFOCUS, hook|optional },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|wparam|optional, 0 },
{ WM_ACTIVATE, sent|wparam, 1 },
{ WM_GETTEXT, sent|optional },
@@ -681,6 +693,7 @@ static const struct message WmHideOverlappedSeq[] = {
{ WM_ACTIVATE, sent|wparam|optional, 0 },
{ WM_ACTIVATEAPP, sent|wparam|optional, 0 },
{ HCBT_SETFOCUS, hook|optional },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 },
{ WM_KILLFOCUS, sent|wparam|optional, 0 },
{ WM_IME_SETCONTEXT, sent|wparam|optional, 0 },
{ WM_IME_NOTIFY, sent|wparam|optional|defwinproc, 1 },
@@ -1090,7 +1103,9 @@ static const struct message WmShowPopupExtremeLocationSeq[] = {
{ WM_MOVE, sent },
{ WM_SHOWWINDOW, sent|wparam, 1 },
{ WM_WINDOWPOSCHANGING, sent },
+ { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ HCBT_ACTIVATE, hook },
+ { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|optional },
{ WM_QUERYNEWPALETTE, sent|optional },
@@ -1107,6 +1122,7 @@ static const struct message WmShowPopupExtremeLocationSeq[] = {
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 }, /* Not sent on Win10. */
{ HCBT_SETFOCUS, hook },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|defwinproc },
{ WM_NCPAINT, sent|wparam|optional, 1 }, /* Not always sent on Win8+ */
{ WM_ERASEBKGND, sent|optional }, /* Not always sent on Win8+ */
@@ -1128,7 +1144,9 @@ static const struct message WmShowPopupFirstDrawSeq_1[] = {
{ WM_MOVE, sent },
{ WM_SHOWWINDOW, sent|wparam, 1 },
{ WM_WINDOWPOSCHANGING, sent },
+ { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ HCBT_ACTIVATE, hook },
+ { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|optional },
{ WM_QUERYNEWPALETTE, sent|optional },
{ WM_ACTIVATEAPP, sent },
@@ -1139,6 +1157,7 @@ static const struct message WmShowPopupFirstDrawSeq_1[] = {
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 }, /* Not sent on Win10. */
{ HCBT_SETFOCUS, hook },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|defwinproc },
{ WM_NCPAINT, sent|wparam, 1 },
{ WM_ERASEBKGND, sent },
@@ -1163,7 +1182,9 @@ static const struct message WmShowPopupFirstDrawSeq_2[] = {
{ WM_GETMINMAXINFO, sent },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_STATECHANGED|SWP_SHOWWINDOW|SWP_FRAMECHANGED },
{ WM_NCCALCSIZE, sent|wparam, TRUE },
+ { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ HCBT_ACTIVATE, hook },
+ { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|optional },
{ WM_NCPAINT, sent|optional|wparam, 1 },
{ WM_ERASEBKGND, sent|optional },
@@ -1177,12 +1198,14 @@ static const struct message WmShowPopupFirstDrawSeq_2[] = {
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 }, /* Not sent on Win10. */
{ HCBT_SETFOCUS, hook },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|defwinproc },
{ WM_NCPAINT, sent|wparam, 1 },
{ WM_ERASEBKGND, sent },
{ WM_WINDOWPOSCHANGED, sent|optional },
{ WM_MOVE, sent|defwinproc },
{ WM_SIZE, sent|defwinproc, 0 },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ WM_PAINT, sent},
/* occasionally received on test machines */
{ WM_NCPAINT, sent|beginpaint|optional },
@@ -1198,7 +1221,9 @@ static const struct message WmFirstDrawSetWindowPosSeq1[] = {
{ WM_SIZE, sent|wparam, SIZE_RESTORED },
{ WM_MOVE, sent },
{ WM_WINDOWPOSCHANGING, sent },
+ { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ HCBT_ACTIVATE, hook },
+ { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|optional },
{ WM_QUERYNEWPALETTE, sent|optional },
{ WM_ACTIVATEAPP, sent },
@@ -1209,11 +1234,13 @@ static const struct message WmFirstDrawSetWindowPosSeq1[] = {
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 }, /* Not sent on Win10. */
{ HCBT_SETFOCUS, hook },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|defwinproc },
{ WM_NCPAINT, sent|wparam, 1 },
{ WM_ERASEBKGND, sent },
{ WM_WINDOWPOSCHANGED, sent },
{ WM_MOVE, sent|defwinproc },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ 0 }
};
static const struct message WmFirstDrawSetWindowPosSeq2[] = {
@@ -1225,7 +1252,9 @@ static const struct message WmFirstDrawSetWindowPosSeq2[] = {
{ WM_SIZE, sent|wparam, SIZE_RESTORED },
{ WM_MOVE, sent },
{ WM_WINDOWPOSCHANGING, sent },
+ { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Not always sent. */
{ HCBT_ACTIVATE, hook },
+ { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ WM_QUERYNEWPALETTE, sent|optional },
{ WM_WINDOWPOSCHANGING, sent|optional },
{ WM_ACTIVATEAPP, sent },
@@ -1236,9 +1265,11 @@ static const struct message WmFirstDrawSetWindowPosSeq2[] = {
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 }, /* Not sent on Win10. */
{ HCBT_SETFOCUS, hook },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|defwinproc },
{ WM_WINDOWPOSCHANGED, sent },
{ WM_MOVE, sent|defwinproc },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ 0 }
};
static const struct message WmFirstDrawSetWindowPosSeq3[] = {
@@ -1268,7 +1299,9 @@ static const struct message WmFirstDrawSetWindowPosSeq4[] = {
{ WM_SIZE, sent|wparam, SIZE_RESTORED },
{ WM_MOVE, sent },
{ WM_WINDOWPOSCHANGING, sent },
+ { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ HCBT_ACTIVATE, hook },
+ { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|optional },
{ WM_QUERYNEWPALETTE, sent|optional },
{ WM_ACTIVATEAPP, sent },
@@ -1279,6 +1312,7 @@ static const struct message WmFirstDrawSetWindowPosSeq4[] = {
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 }, /* Not sent on Win10. */
{ HCBT_SETFOCUS, hook },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|defwinproc },
{ WM_NCPAINT, sent|wparam, 1 },
{ WM_ERASEBKGND, sent },
@@ -1294,7 +1328,9 @@ static const struct message WmFirstDrawSetWindowPosSeq5[] = {
{ WM_SIZE, sent|wparam, SIZE_RESTORED },
{ WM_MOVE, sent },
{ WM_WINDOWPOSCHANGING, sent },
+ { EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ HCBT_ACTIVATE, hook },
+ { EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|optional },
{ WM_QUERYNEWPALETTE, sent|optional },
{ WM_ACTIVATEAPP, sent },
@@ -1305,11 +1341,14 @@ static const struct message WmFirstDrawSetWindowPosSeq5[] = {
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|optional, OBJID_CLIENT, 0 }, /* Not sent on Win10. */
{ HCBT_SETFOCUS, hook },
+ { EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam|winevent_hook_todo, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|defwinproc },
{ WM_WINDOWPOSCHANGED, sent },
{ 0 }
};
static const struct message WmFirstDrawChildSeq1[] = {
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Win7 seems to send this twice. */
{ 0 }
};
static const struct message WmFirstDrawChildSeq2[] = {
@@ -1318,6 +1357,8 @@ static const struct message WmFirstDrawChildSeq2[] = {
/* occasionally received on test machines */
{ WM_NCPAINT, sent|optional },
{ WM_ERASEBKGND, sent|optional },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 },
+ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Win7 seems to send this twice. */
{ 0 }
};
/* CreateWindow (for child window, not initially visible) */
@@ -18401,6 +18442,7 @@ START_TEST(msg)
test_PeekMessage3();
test_WaitForInputIdle( test_argv[0] );
test_scrollwindowex();
+ test_messages();
/* Fix message sequences before removing 4 lines below */
if (pUnhookWinEvent && hEvent_hook)
@@ -18411,7 +18453,6 @@ START_TEST(msg)
}
hEvent_hook = 0;
- test_messages();
test_setwindowpos();
test_showwindow();
invisible_parent_tests();
--
2.25.1
More information about the wine-devel
mailing list