Alexandre Julliard : user32/tests: Fix more message tests on XP and Vista.
Alexandre Julliard
julliard at winehq.org
Fri Feb 13 08:58:57 CST 2009
Module: wine
Branch: master
Commit: 4fc6dbd86da96655ce0964a7de202171d5f7f0eb
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4fc6dbd86da96655ce0964a7de202171d5f7f0eb
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Feb 13 13:02:08 2009 +0100
user32/tests: Fix more message tests on XP and Vista.
---
dlls/user32/tests/msg.c | 47 +++++++++++++++++++++++++++++++----------------
1 files changed, 31 insertions(+), 16 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index ee39224..a865d74 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -515,7 +515,7 @@ static const struct message WmShowRestoreMaxOverlappedSeq[] = {
};
/* ShowWindow(SW_RESTORE) for a not visible minimized overlapped window */
static const struct message WmShowRestoreMinOverlappedSeq[] = {
- { HCBT_MINMAX, hook|lparam|optional, 0, SW_RESTORE },
+ { HCBT_MINMAX, hook|lparam, 0, SW_RESTORE },
{ WM_QUERYOPEN, sent|optional },
{ WM_GETTEXT, sent|optional },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_STATECHANGED|SWP_NOCOPYBITS },
@@ -576,6 +576,7 @@ static const struct message WmShowMinOverlappedSeq[] = {
{ WM_ACTIVATE, sent },
{ WM_ACTIVATEAPP, sent|wparam, 0 },
{ WM_SYSCOMMAND, sent|optional|wparam, SC_RESTORE },
+ { HCBT_SYSCOMMAND, hook|optional|wparam, SC_RESTORE },
{ WM_PAINT, sent|optional },
{ WM_NCPAINT, sent|beginpaint|optional },
{ WM_ERASEBKGND, sent|beginpaint|optional },
@@ -1837,7 +1838,6 @@ static void flush_events(void)
if (MsgWaitForMultipleObjects( 0, NULL, FALSE, min_timeout, QS_ALLINPUT ) == WAIT_TIMEOUT) break;
while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessage( &msg );
diff = time - GetTickCount();
- min_timeout = 50;
}
}
@@ -4439,21 +4439,28 @@ static void test_messages(void)
ShowWindow(hwnd, SW_SHOWMAXIMIZED);
flush_events();
ok_sequence(WmShowMaxOverlappedSeq, "ShowWindow(SW_SHOWMAXIMIZED):overlapped", TRUE);
-
- ShowWindow(hwnd, SW_RESTORE);
- ok_sequence(WmShowRestoreMaxOverlappedSeq, "ShowWindow(SW_RESTORE):overlapped", FALSE);
- flush_events();
flush_sequence();
+ if (GetWindowLongW( hwnd, GWL_STYLE ) & WS_MAXIMIZE)
+ {
+ ShowWindow(hwnd, SW_RESTORE);
+ flush_events();
+ ok_sequence(WmShowRestoreMaxOverlappedSeq, "ShowWindow(SW_RESTORE):overlapped", FALSE);
+ flush_sequence();
+ }
+
ShowWindow(hwnd, SW_MINIMIZE);
flush_events();
ok_sequence(WmShowMinOverlappedSeq, "ShowWindow(SW_SHOWMINIMIZED):overlapped", TRUE);
flush_sequence();
- ShowWindow(hwnd, SW_RESTORE);
- flush_events();
- ok_sequence(WmShowRestoreMinOverlappedSeq, "ShowWindow(SW_RESTORE):overlapped", TRUE);
- flush_sequence();
+ if (GetWindowLongW( hwnd, GWL_STYLE ) & WS_MINIMIZE)
+ {
+ ShowWindow(hwnd, SW_RESTORE);
+ flush_events();
+ ok_sequence(WmShowRestoreMinOverlappedSeq, "ShowWindow(SW_RESTORE):overlapped", TRUE);
+ flush_sequence();
+ }
ShowWindow(hwnd, SW_SHOW);
flush_events();
@@ -6614,6 +6621,7 @@ static void pump_msg_loop(HWND hwnd, HACCEL hAccel)
static void test_accelerators(void)
{
RECT rc;
+ POINT pt;
SHORT state;
HACCEL hAccel;
HWND hwnd = CreateWindowExA(0, "TestWindowClass", NULL, WS_OVERLAPPEDWINDOW | WS_VISIBLE,
@@ -6784,12 +6792,16 @@ static void test_accelerators(void)
flush_events();
flush_sequence();
- keybd_event(VK_SHIFT, 0, 0, 0);
- mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
- mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
- keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
- pump_msg_loop(hwnd, 0);
- ok_sequence(WmShiftMouseButton, "Shift+MouseButton press/release", FALSE);
+ GetCursorPos(&pt);
+ if (pt.x == rc.left && pt.y == rc.top)
+ {
+ keybd_event(VK_SHIFT, 0, 0, 0);
+ mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
+ mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
+ keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
+ pump_msg_loop(hwnd, 0);
+ ok_sequence(WmShiftMouseButton, "Shift+MouseButton press/release", FALSE);
+ }
trace("testing VK_F1 press/release\n");
keybd_event(VK_F1, 0, 0, 0);
@@ -10368,6 +10380,9 @@ static const struct message SetActiveWindowSeq0[] =
{ WM_NCACTIVATE, sent|wparam, 0 },
{ WM_GETTEXT, sent|defwinproc|optional },
{ WM_ACTIVATE, sent|wparam, 0 },
+ { WM_ACTIVATEAPP, sent|wparam|optional, 0 },
+ { WM_ACTIVATEAPP, sent|wparam|optional, 0 },
+ { WM_KILLFOCUS, sent|wparam|optional, 0 },
{ WM_QUERYNEWPALETTE, sent|wparam|lparam|optional, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOSIZE|SWP_NOMOVE },
More information about the wine-cvs
mailing list