From 90a2be74918e32077b37220f2d05693555d847d9 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Wed, 2 Apr 2008 10:50:09 -0700 Subject: [PATCH 1/3] user32: add more edit dialog tests. --- dlls/user32/tests/edit.c | 34 +++++++++++++++++++++++++++++++++- 1 files changed, 33 insertions(+), 1 deletions(-) diff --git a/dlls/user32/tests/edit.c b/dlls/user32/tests/edit.c index 74092be..a40251c 100644 --- a/dlls/user32/tests/edit.c +++ b/dlls/user32/tests/edit.c @@ -90,6 +90,19 @@ static INT_PTR CALLBACK edit_dialog_proc(HWND hdlg, UINT msg, WPARAM wparam, LPA PostMessage(hdlg, WM_USER, 0xdeadbeef, 1); break; + /* multiple tab tests */ + case 9: + PostMessage(hedit, WM_KEYDOWN, VK_TAB, 0xf0001); + PostMessage(hedit, WM_KEYDOWN, VK_TAB, 0xf0001); + PostMessage(hdlg, WM_USER, 0xdeadbeef, 2); + break; + case 10: + PostMessage(hedit, WM_KEYDOWN, VK_TAB, 0xf0001); + PostMessage(hedit, WM_KEYDOWN, VK_TAB, 0xf0001); + PostMessage(hedit, WM_KEYDOWN, VK_TAB, 0xf0001); + PostMessage(hdlg, WM_USER, 0xdeadbeef, 2); + break; + default: break; } @@ -119,7 +132,9 @@ static INT_PTR CALLBACK edit_dialog_proc(HWND hdlg, UINT msg, WPARAM wparam, LPA { int len; HWND hok = GetDlgItem(hdlg, IDOK); + HWND hcancel = GetDlgItem(hdlg, IDCANCEL); HWND hedit = GetDlgItem(hdlg, 1000); + HWND hfocus = GetFocus(); if (wparam != 0xdeadbeef) break; @@ -136,12 +151,23 @@ static INT_PTR CALLBACK edit_dialog_proc(HWND hdlg, UINT msg, WPARAM wparam, LPA case 1: len = SendMessage(hedit, WM_GETTEXTLENGTH, 0, 0); - if ((GetFocus() == hok) && len == 0) + if ((hfocus == hok) && len == 0) EndDialog(hdlg, 444); else EndDialog(hdlg, 555); break; + case 2: + if (hfocus == hok) + EndDialog(hdlg, 11); + else if (hfocus == hcancel) + EndDialog(hdlg, 22); + else if (hfocus == hedit) + EndDialog(hdlg, 33); + else + EndDialog(hdlg, 44); + break; + default: EndDialog(hdlg, 555); } @@ -1307,6 +1333,12 @@ static void test_edit_dialog(void) todo_wine ok(444 == r, "Expected %d, got %d\n", 444, r); r = DialogBoxParam(hinst, "EDIT_DIALOG", NULL, (DLGPROC)edit_dialog_proc, 8); ok(444 == r, "Expected %d, got %d\n", 444, r); + + /* multiple tab tests */ + r = DialogBoxParam(hinst, "EDIT_DIALOG", NULL, (DLGPROC)edit_dialog_proc, 9); + ok(22 == r, "Expected %d, got %d\n", 22, r); + r = DialogBoxParam(hinst, "EDIT_DIALOG", NULL, (DLGPROC)edit_dialog_proc, 10); + ok(33 == r, "Expected %d, got %d\n", 33, r); } static BOOL RegisterWindowClasses (void) -- 1.5.2.5