From: Haoyang Chen chenhaoyang@kylinos.cn
--- dlls/user32/tests/edit.c | 54 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+)
diff --git a/dlls/user32/tests/edit.c b/dlls/user32/tests/edit.c index 9316cff7d85..285ced457bf 100644 --- a/dlls/user32/tests/edit.c +++ b/dlls/user32/tests/edit.c @@ -3474,6 +3474,59 @@ static void test_format_rect(void) } }
+static void test_PASSWORDCHAR(void) +{ + HWND hwEdit; + LONG r; + CHAR passwdChar = '#'; + + hwEdit = create_editcontrol(ES_AUTOHSCROLL | ES_AUTOVSCROLL, 0); + + r = SendMessageA(hwEdit, EM_SETPASSWORDCHAR, passwdChar, 0); + todo_wine ok(r == 1, "Expected: 1, got: %ld\n", r); + + r = get_edit_style(hwEdit); + ok(r & ES_PASSWORD, "Wrong style expected ES_PASSWORD got: 0x%lx\n", r); + + r = SendMessageA(hwEdit, EM_GETPASSWORDCHAR, 0, 0); + ok(r == passwdChar, "Expected: 0, got: %ld\n", r); + + DestroyWindow (hwEdit); + + hwEdit = create_editcontrol(ES_MULTILINE, 0); + r = get_edit_style(hwEdit); + ok(r == ES_MULTILINE, "Wrong style expected ES_PASSWORD got: 0x%lx\n", r); + + r = SendMessageA(hwEdit, EM_SETPASSWORDCHAR, passwdChar, 0); + todo_wine ok(r == 1, "Expected: 1, got: %ld\n", r); + + r = get_edit_style(hwEdit); + ok(r == (ES_MULTILINE | ES_PASSWORD), "Wrong style expected ES_MULTILINE|ES_PASSWORD got: 0x%lx\n", r); + + if (winetest_interactive) + SetWindowTextA(hwEdit, "TEST"); + + r = SendMessageA(hwEdit, EM_GETPASSWORDCHAR, 0, 0); + ok(r == passwdChar, "Expected: 0, got: %ld\n", r); + + if (winetest_interactive) + { + RedrawWindow(hwEdit, NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW); + Sleep(2000); + } + + r = SendMessageA(hwEdit, EM_SETPASSWORDCHAR, 0, 0); + todo_wine ok(r == 1, "Expected: 1, got: %ld\n", r); + + r = get_edit_style(hwEdit); + ok(r == ES_MULTILINE, "Wrong style expected ES_PASSWORD got: 0x%lx\n", r); + + r = SendMessageA(hwEdit, EM_GETPASSWORDCHAR, 0, 0); + ok(r == 0, "Expected: 0, got: %ld\n", r); + + DestroyWindow (hwEdit); +} + START_TEST(edit) { BOOL b; @@ -3513,6 +3566,7 @@ START_TEST(edit) test_wordbreak_proc(); test_dbcs_WM_CHAR(); test_format_rect(); + test_PASSWORDCHAR();
UnregisterWindowClasses(); }