Module: wine Branch: master Commit: 1d1f1373af9b0210a09add13e2c7013cbe578b40 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1d1f1373af9b0210a09add13e2...
Author: Lei Zhang thestig@google.com Date: Wed Apr 2 10:50:09 2008 -0700
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)