Lei Zhang : user32: Add a test for sending WM_KEYDOWN to a child edit control.

Alexandre Julliard julliard at winehq.org
Thu Apr 24 06:23:36 CDT 2008


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

Author: Lei Zhang <thestig at google.com>
Date:   Wed Apr 23 17:48:34 2008 -0700

user32: Add a test for sending WM_KEYDOWN to a child edit control.

---

 dlls/user32/tests/edit.c |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/dlls/user32/tests/edit.c b/dlls/user32/tests/edit.c
index e5a69ac..b34e6e0 100644
--- a/dlls/user32/tests/edit.c
+++ b/dlls/user32/tests/edit.c
@@ -1906,6 +1906,37 @@ static void test_singleline_wantreturn_edit_dialog(void)
     ok(444 == r, "Expected %d, got %d\n", 444, r);
 }
 
+static int child_edit_wmkeydown_num_messages = 0;
+static INT_PTR CALLBACK child_edit_wmkeydown_proc(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lparam)
+{
+    switch (msg)
+    {
+        case WM_DESTROY:
+        case WM_NCDESTROY:
+            break;
+
+        default:
+            child_edit_wmkeydown_num_messages++;
+            break;
+    }
+
+    return FALSE;
+}
+
+static void test_child_edit_wmkeydown(void)
+{
+    HWND hwEdit, hwParent;
+    int r;
+
+    hwEdit = create_child_editcontrol(0, 0);
+    hwParent = GetParent(hwEdit);
+    SetWindowLong(hwParent, GWL_WNDPROC, (LONG)child_edit_wmkeydown_proc);
+    r = SendMessage(hwEdit, WM_KEYDOWN, VK_RETURN, 0x1c0001);
+    todo_wine ok(1 == r, "expected 1, got %d\n", r);
+    todo_wine ok(0 == child_edit_wmkeydown_num_messages, "expected 0, got %d\n", child_edit_wmkeydown_num_messages);
+    destroy_child_editcontrol(hwEdit);
+}
+
 static BOOL RegisterWindowClasses (void)
 {
     WNDCLASSA test2;
@@ -1980,6 +2011,7 @@ START_TEST(edit)
     test_multi_edit_dialog();
     test_wantreturn_edit_dialog();
     test_singleline_wantreturn_edit_dialog();
+    test_child_edit_wmkeydown();
 
     UnregisterWindowClasses();
 }




More information about the wine-cvs mailing list