user32/tests: Add some more optional messages we get on Windows.
This commit is contained in:
parent
bd36ca6e79
commit
0cc91abf8f
@ -515,7 +515,7 @@ static const struct message WmShowRestoreMaxOverlappedSeq[] = {
|
|||||||
};
|
};
|
||||||
/* ShowWindow(SW_RESTORE) for a not visible minimized overlapped window */
|
/* ShowWindow(SW_RESTORE) for a not visible minimized overlapped window */
|
||||||
static const struct message WmShowRestoreMinOverlappedSeq[] = {
|
static const struct message WmShowRestoreMinOverlappedSeq[] = {
|
||||||
{ HCBT_MINMAX, hook|lparam, 0, SW_RESTORE },
|
{ HCBT_MINMAX, hook|lparam|optional, 0, SW_RESTORE },
|
||||||
{ WM_QUERYOPEN, sent|optional },
|
{ WM_QUERYOPEN, sent|optional },
|
||||||
{ WM_GETTEXT, sent|optional },
|
{ WM_GETTEXT, sent|optional },
|
||||||
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_STATECHANGED|SWP_NOCOPYBITS },
|
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_STATECHANGED|SWP_NOCOPYBITS },
|
||||||
@ -575,6 +575,7 @@ static const struct message WmShowMinOverlappedSeq[] = {
|
|||||||
{ WM_GETTEXT, sent|defwinproc|optional },
|
{ WM_GETTEXT, sent|defwinproc|optional },
|
||||||
{ WM_ACTIVATE, sent },
|
{ WM_ACTIVATE, sent },
|
||||||
{ WM_ACTIVATEAPP, sent|wparam, 0 },
|
{ WM_ACTIVATEAPP, sent|wparam, 0 },
|
||||||
|
{ WM_SYSCOMMAND, sent|optional|wparam, SC_RESTORE },
|
||||||
{ WM_PAINT, sent|optional },
|
{ WM_PAINT, sent|optional },
|
||||||
{ WM_NCPAINT, sent|beginpaint|optional },
|
{ WM_NCPAINT, sent|beginpaint|optional },
|
||||||
{ WM_ERASEBKGND, sent|beginpaint|optional },
|
{ WM_ERASEBKGND, sent|beginpaint|optional },
|
||||||
@ -9341,7 +9342,7 @@ static void wait_move_event(HWND hwnd, int x, int y)
|
|||||||
while (GetTickCount() - time < 200 && !go) {
|
while (GetTickCount() - time < 200 && !go) {
|
||||||
ret = PeekMessageA(&msg, hwnd, WM_MOUSEMOVE, WM_MOUSEMOVE, PM_NOREMOVE);
|
ret = PeekMessageA(&msg, hwnd, WM_MOUSEMOVE, WM_MOUSEMOVE, PM_NOREMOVE);
|
||||||
go = ret && msg.pt.x > x && msg.pt.y > y;
|
go = ret && msg.pt.x > x && msg.pt.y > y;
|
||||||
if (ret && !go) PeekMessageA(&msg, hwnd, WM_MOUSEMOVE, WM_MOUSEMOVE, PM_REMOVE);
|
if (!ret) MsgWaitForMultipleObjects( 0, NULL, FALSE, GetTickCount() - time, QS_ALLINPUT );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9885,11 +9886,11 @@ static const struct message WmRestore_3[] = {
|
|||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
static const struct message WmRestore_4[] = {
|
static const struct message WmRestore_4[] = {
|
||||||
{ HCBT_MINMAX, hook|lparam, 0, SW_RESTORE },
|
{ HCBT_MINMAX, hook|lparam|optional, 0, SW_RESTORE },
|
||||||
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_STATECHANGED, 0, SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE|SWP_NOSIZE|SWP_NOMOVE },
|
{ WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_FRAMECHANGED|SWP_STATECHANGED, 0, SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE|SWP_NOSIZE|SWP_NOMOVE },
|
||||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_STATECHANGED, 0, SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE|SWP_NOSIZE|SWP_NOMOVE },
|
{ WM_WINDOWPOSCHANGED, sent|wparam|optional, SWP_FRAMECHANGED|SWP_STATECHANGED, 0, SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE|SWP_NOSIZE|SWP_NOMOVE },
|
||||||
{ WM_MOVE, sent|defwinproc|optional },
|
{ WM_MOVE, sent|defwinproc|optional },
|
||||||
{ WM_SIZE, sent|wparam|defwinproc, SIZE_RESTORED },
|
{ WM_SIZE, sent|wparam|defwinproc|optional, SIZE_RESTORED },
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
static const struct message WmRestore_5[] = {
|
static const struct message WmRestore_5[] = {
|
||||||
@ -9906,6 +9907,7 @@ static const struct message WmHide_1[] = {
|
|||||||
{ WM_SHOWWINDOW, sent|wparam, 0 },
|
{ WM_SHOWWINDOW, sent|wparam, 0 },
|
||||||
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_HIDEWINDOW|SWP_NOSIZE|SWP_NOMOVE },
|
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_HIDEWINDOW|SWP_NOSIZE|SWP_NOMOVE },
|
||||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_HIDEWINDOW|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE },
|
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_HIDEWINDOW|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE },
|
||||||
|
{ HCBT_ACTIVATE, hook|optional },
|
||||||
{ HCBT_SETFOCUS, hook|optional }, /* win2000 sends it */
|
{ HCBT_SETFOCUS, hook|optional }, /* win2000 sends it */
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
@ -9913,6 +9915,7 @@ static const struct message WmHide_2[] = {
|
|||||||
{ WM_SHOWWINDOW, sent|wparam, 0 },
|
{ WM_SHOWWINDOW, sent|wparam, 0 },
|
||||||
{ WM_WINDOWPOSCHANGING, sent /*|wparam, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE*/ }, /* win2000 doesn't add SWP_NOACTIVATE */
|
{ WM_WINDOWPOSCHANGING, sent /*|wparam, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE*/ }, /* win2000 doesn't add SWP_NOACTIVATE */
|
||||||
{ WM_WINDOWPOSCHANGED, sent /*|wparam, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE*/ }, /* win2000 doesn't add SWP_NOACTIVATE */
|
{ WM_WINDOWPOSCHANGED, sent /*|wparam, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE*/ }, /* win2000 doesn't add SWP_NOACTIVATE */
|
||||||
|
{ HCBT_ACTIVATE, hook|optional },
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
static const struct message WmHide_3[] = {
|
static const struct message WmHide_3[] = {
|
||||||
@ -9985,6 +9988,7 @@ static const struct message WmMinMax_2[] = {
|
|||||||
};
|
};
|
||||||
static const struct message WmMinMax_3[] = {
|
static const struct message WmMinMax_3[] = {
|
||||||
{ HCBT_MINMAX, hook|lparam, 0, SW_MINIMIZE },
|
{ HCBT_MINMAX, hook|lparam, 0, SW_MINIMIZE },
|
||||||
|
{ HCBT_SETFOCUS, hook|optional },
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
static const struct message WmMinMax_4[] = {
|
static const struct message WmMinMax_4[] = {
|
||||||
@ -10012,9 +10016,9 @@ static const struct message WmShowMaximized_2[] = {
|
|||||||
{ WM_WINDOWPOSCHANGED, sent|optional },
|
{ WM_WINDOWPOSCHANGED, sent|optional },
|
||||||
{ WM_MOVE, sent|optional }, /* Win9x doesn't send it */
|
{ WM_MOVE, sent|optional }, /* Win9x doesn't send it */
|
||||||
{ WM_SIZE, sent|wparam|optional, SIZE_MAXIMIZED }, /* Win9x doesn't send it */
|
{ WM_SIZE, sent|wparam|optional, SIZE_MAXIMIZED }, /* Win9x doesn't send it */
|
||||||
{ WM_WINDOWPOSCHANGING, sent },
|
{ WM_WINDOWPOSCHANGING, sent|optional },
|
||||||
{ HCBT_SETFOCUS, hook|optional },
|
{ HCBT_SETFOCUS, hook|optional },
|
||||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
{ WM_WINDOWPOSCHANGED, sent|wparam|optional, SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||||
{ WM_MOVE, sent|defwinproc },
|
{ WM_MOVE, sent|defwinproc },
|
||||||
{ WM_SIZE, sent|wparam|defwinproc, SIZE_MAXIMIZED },
|
{ WM_SIZE, sent|wparam|defwinproc, SIZE_MAXIMIZED },
|
||||||
{ HCBT_SETFOCUS, hook|optional },
|
{ HCBT_SETFOCUS, hook|optional },
|
||||||
@ -10086,7 +10090,7 @@ static void test_ShowWindow(void)
|
|||||||
/* 39 */ { SW_SHOWNOACTIVATE, TRUE, WS_VISIBLE, WmEmptySeq, FALSE },
|
/* 39 */ { SW_SHOWNOACTIVATE, TRUE, WS_VISIBLE, WmEmptySeq, FALSE },
|
||||||
/* 40 */ { SW_MINIMIZE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinimize_2, FALSE },
|
/* 40 */ { SW_MINIMIZE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinimize_2, FALSE },
|
||||||
/* 41 */ { SW_MINIMIZE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinMax_3, FALSE },
|
/* 41 */ { SW_MINIMIZE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinMax_3, FALSE },
|
||||||
/* 42 */ { SW_SHOWMAXIMIZED, TRUE, WS_VISIBLE|WS_MAXIMIZE, WmShowMaximized_2, TRUE },
|
/* 42 */ { SW_SHOWMAXIMIZED, TRUE, WS_VISIBLE|WS_MAXIMIZE, WmShowMaximized_2, FALSE },
|
||||||
/* 43 */ { SW_SHOWMAXIMIZED, TRUE, WS_VISIBLE|WS_MAXIMIZE, WmMinMax_2, FALSE },
|
/* 43 */ { SW_SHOWMAXIMIZED, TRUE, WS_VISIBLE|WS_MAXIMIZE, WmMinMax_2, FALSE },
|
||||||
/* 44 */ { SW_MINIMIZE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinimize_1, FALSE },
|
/* 44 */ { SW_MINIMIZE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinimize_1, FALSE },
|
||||||
/* 45 */ { SW_MINIMIZE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinMax_3, FALSE },
|
/* 45 */ { SW_MINIMIZE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinMax_3, FALSE },
|
||||||
@ -10360,7 +10364,7 @@ static void test_nullCallback(void)
|
|||||||
/* SetActiveWindow( 0 ) hwnd visible */
|
/* SetActiveWindow( 0 ) hwnd visible */
|
||||||
static const struct message SetActiveWindowSeq0[] =
|
static const struct message SetActiveWindowSeq0[] =
|
||||||
{
|
{
|
||||||
{ HCBT_ACTIVATE, hook },
|
{ HCBT_ACTIVATE, hook|optional },
|
||||||
{ WM_NCACTIVATE, sent|wparam, 0 },
|
{ WM_NCACTIVATE, sent|wparam, 0 },
|
||||||
{ WM_GETTEXT, sent|defwinproc|optional },
|
{ WM_GETTEXT, sent|defwinproc|optional },
|
||||||
{ WM_ACTIVATE, sent|wparam, 0 },
|
{ WM_ACTIVATE, sent|wparam, 0 },
|
||||||
@ -10483,11 +10487,7 @@ static void test_SetActiveWindow(void)
|
|||||||
|
|
||||||
trace("SetActiveWindow(hwnd), hwnd visible\n");
|
trace("SetActiveWindow(hwnd), hwnd visible\n");
|
||||||
ret = SetActiveWindow(hwnd);
|
ret = SetActiveWindow(hwnd);
|
||||||
todo_wine
|
if (ret == hwnd) ok_sequence(SetActiveWindowSeq1, "SetActiveWindow(hwnd), hwnd visible", TRUE);
|
||||||
{
|
|
||||||
ok( ret == hwnd, "Failed to SetActiveWindow(hwnd), hwnd visible\n");
|
|
||||||
}
|
|
||||||
ok_sequence(SetActiveWindowSeq1, "SetActiveWindow(hwnd), hwnd visible", TRUE);
|
|
||||||
flush_sequence();
|
flush_sequence();
|
||||||
|
|
||||||
trace("SetActiveWindow(popup), hwnd visible, popup visible\n");
|
trace("SetActiveWindow(popup), hwnd visible, popup visible\n");
|
||||||
@ -10537,6 +10537,7 @@ static void test_SetForegroundWindow(void)
|
|||||||
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
||||||
100, 100, 200, 200, 0, 0, 0, NULL);
|
100, 100, 200, 200, 0, 0, 0, NULL);
|
||||||
ok (hwnd != 0, "Failed to create overlapped window\n");
|
ok (hwnd != 0, "Failed to create overlapped window\n");
|
||||||
|
SetForegroundWindow( hwnd );
|
||||||
flush_sequence();
|
flush_sequence();
|
||||||
|
|
||||||
trace("SetForegroundWindow( 0 )\n");
|
trace("SetForegroundWindow( 0 )\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user