Alexandre Julliard : user32/tests: More systematically ignore the messages we don't care about.

Alexandre Julliard julliard at winehq.org
Thu Jun 4 07:59:33 CDT 2009


Module: wine
Branch: master
Commit: 7b40a2fa95e5f5f3b8d31b8c65d1cdb5d7d953e9
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7b40a2fa95e5f5f3b8d31b8c65d1cdb5d7d953e9

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Jun  4 11:45:33 2009 +0200

user32/tests: More systematically ignore the messages we don't care about.

---

 dlls/user32/tests/win.c |   69 ++++++++++++++++++++++++----------------------
 1 files changed, 36 insertions(+), 33 deletions(-)

diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c
index 43988b5..d45eba3 100644
--- a/dlls/user32/tests/win.c
+++ b/dlls/user32/tests/win.c
@@ -2634,6 +2634,17 @@ static void test_capture_3(HWND hwnd1, HWND hwnd2)
     ok (ret, "releasecapture did not return TRUE after second try.\n");
 }
 
+/* PeekMessage wrapper that ignores the messages we don't care about */
+static BOOL peek_message( MSG *msg )
+{
+    BOOL ret;
+    do
+    {
+        ret = PeekMessageA(msg, 0, 0, 0, PM_REMOVE);
+    } while (ret && (msg->message == WM_TIMER || ignore_message(msg->message)));
+    return ret;
+}
+
 static void test_keyboard_input(HWND hwnd)
 {
     MSG msg;
@@ -2652,40 +2663,31 @@ static void test_keyboard_input(HWND hwnd)
     flush_events( TRUE );
 
     PostMessageA(hwnd, WM_KEYDOWN, 0, 0);
-    do
-    {
-        ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
-        ok( ret, "no message available\n");
-    }
-    while (ret && msg.message >= 0xc000);
+    ret = peek_message(&msg);
+    ok( ret, "no message available\n");
     ok(msg.hwnd == hwnd && msg.message == WM_KEYDOWN, "hwnd %p message %04x\n", msg.hwnd, msg.message);
-    do
-        ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
-    while (ret && (msg.message == WM_TIMER || msg.message >= 0xc000));
+    ret = peek_message(&msg);
     ok( !ret, "message %04x available\n", msg.message);
 
     ok(GetFocus() == hwnd, "wrong focus window %p\n", GetFocus());
 
     PostThreadMessageA(GetCurrentThreadId(), WM_KEYDOWN, 0, 0);
-    ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n");
+    ret = peek_message(&msg);
+    ok(ret, "no message available\n");
     ok(!msg.hwnd && msg.message == WM_KEYDOWN, "hwnd %p message %04x\n", msg.hwnd, msg.message);
-    ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
+    ret = peek_message(&msg);
     ok( !ret, "message %04x available\n", msg.message);
 
     ok(GetFocus() == hwnd, "wrong focus window %p\n", GetFocus());
 
     keybd_event(VK_SPACE, 0, 0, 0);
-    do
-    {
-        ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
-    } while (ret && msg.message >= 0xc000);
-    if (!ret)
+    if (!peek_message(&msg))
     {
         skip( "keybd_event didn't work, skipping keyboard test\n" );
         return;
     }
     ok(msg.hwnd == hwnd && msg.message == WM_KEYDOWN, "hwnd %p message %04x\n", msg.hwnd, msg.message);
-    ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
+    ret = peek_message(&msg);
     ok( !ret, "message %04x available\n", msg.message);
 
     SetFocus(0);
@@ -2694,25 +2696,28 @@ static void test_keyboard_input(HWND hwnd)
     flush_events( TRUE );
 
     PostMessageA(hwnd, WM_KEYDOWN, 0, 0);
-    ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n");
+    ret = peek_message(&msg);
+    ok(ret, "no message available\n");
     ok(msg.hwnd == hwnd && msg.message == WM_KEYDOWN, "hwnd %p message %04x\n", msg.hwnd, msg.message);
-    ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
+    ret = peek_message(&msg);
     ok( !ret, "message %04x available\n", msg.message);
 
     ok(GetFocus() == 0, "wrong focus window %p\n", GetFocus());
 
     PostThreadMessageA(GetCurrentThreadId(), WM_KEYDOWN, 0, 0);
-    ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n");
+    ret = peek_message(&msg);
+    ok(ret, "no message available\n");
     ok(!msg.hwnd && msg.message == WM_KEYDOWN, "hwnd %p message %04x\n", msg.hwnd, msg.message);
-    ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
+    ret = peek_message(&msg);
     ok( !ret, "message %04x available\n", msg.message);
 
     ok(GetFocus() == 0, "wrong focus window %p\n", GetFocus());
 
     keybd_event(VK_SPACE, 0, 0, 0);
-    ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n");
+    ret = peek_message(&msg);
+    ok(ret, "no message available\n");
     ok(msg.hwnd == hwnd && msg.message == WM_SYSKEYDOWN, "hwnd %p message %04x\n", msg.hwnd, msg.message);
-    ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
+    ret = peek_message(&msg);
     ok( !ret, "message %04x available\n", msg.message);
 }
 
@@ -2722,11 +2727,11 @@ static BOOL wait_for_message( MSG *msg )
 
     for (;;)
     {
-        ret = PeekMessageA(msg, 0, 0, 0, PM_REMOVE);
+        ret = peek_message(msg);
         if (ret)
         {
             if (msg->message == WM_PAINT) DispatchMessage(msg);
-            else if (!ignore_message(msg->message)) break;
+            else break;
         }
         else if (MsgWaitForMultipleObjects( 0, NULL, FALSE, 100, QS_ALLINPUT ) == WAIT_TIMEOUT) break;
     }
@@ -2779,9 +2784,7 @@ static void test_mouse_input(HWND hwnd)
     /* Check that setting the same position may generate WM_MOUSEMOVE */
     SetCursorPos(x, y);
     msg.message = 0;
-    do
-        ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
-    while (ret && msg.message >= 0xc000);  /* skip registered messages */
+    ret = peek_message(&msg);
     if (ret)
     {
         ok(msg.hwnd == popup && msg.message == WM_MOUSEMOVE, "hwnd %p message %04x\n",
@@ -2802,11 +2805,11 @@ static void test_mouse_input(HWND hwnd)
     /* FIXME: SetCursorPos in Wine generates additional WM_MOUSEMOVE message */
     while (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE))
     {
-        if (msg.message == WM_TIMER || msg.message >= 0xc000) continue;  /* skip registered messages */
+        if (msg.message == WM_TIMER || ignore_message(msg.message)) continue;
         ok(msg.hwnd == popup && msg.message == WM_MOUSEMOVE,
            "hwnd %p message %04x\n", msg.hwnd, msg.message);
     }
-    ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
+    ret = peek_message(&msg);
     ok( !ret, "message %04x available\n", msg.message);
 
     mouse_event(MOUSEEVENTF_MOVE, -1, -1, 0, 0);
@@ -2866,7 +2869,7 @@ static void test_mouse_input(HWND hwnd)
     ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p/%p message %04x\n",
        msg.hwnd, popup, msg.message);
 
-    ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE);
+    ret = peek_message(&msg);
     ok(!ret, "message %04x available\n", msg.message);
 
     ShowWindow(popup, SW_HIDE);
@@ -2894,10 +2897,10 @@ static void test_mouse_input(HWND hwnd)
     ok(ret, "no message available\n");
     ok(msg.hwnd == popup && msg.message == WM_LBUTTONDOWN, "hwnd %p/%p message %04x\n",
        msg.hwnd, popup, msg.message);
-    ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n");
+    ok(peek_message(&msg), "no message available\n");
     ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p/%p message %04x\n",
        msg.hwnd, popup, msg.message);
-    ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n");
+    ok(peek_message(&msg), "no message available\n");
 
     /* Test WM_MOUSEACTIVATE */
 #define TEST_MOUSEACTIVATE(A,B)                                                          \




More information about the wine-cvs mailing list