From 1d1f1373af9b0210a09add13e2c7013cbe578b40 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Wed, 2 Apr 2008 10:50:09 -0700 Subject: [PATCH] user32: Add more edit dialog tests. --- dlls/user32/tests/edit.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/dlls/user32/tests/edit.c b/dlls/user32/tests/edit.c index 74092beee56..a40251c9931 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)