Damjan Jovanovic : comctl32: Test overwriting of pszText contents in TVN_ENDLABELEDIT.

Alexandre Julliard julliard at winehq.org
Wed Nov 13 16:01:11 CST 2019


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

Author: Damjan Jovanovic <damjan.jov at gmail.com>
Date:   Wed Nov 13 05:54:11 2019 +0200

comctl32: Test overwriting of pszText contents in TVN_ENDLABELEDIT.

Signed-off-by: Damjan Jovanovic <damjan.jov at gmail.com>
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/comctl32/tests/treeview.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c
index ac5fd4d804..19ba40c64a 100644
--- a/dlls/comctl32/tests/treeview.c
+++ b/dlls/comctl32/tests/treeview.c
@@ -42,6 +42,7 @@ static BOOL g_get_rect_in_expand;
 static BOOL g_disp_A_to_W;
 static BOOL g_disp_set_stateimage;
 static BOOL g_beginedit_alter_text;
+static const char *g_endedit_overwrite_contents;
 static HFONT g_customdraw_font;
 static BOOL g_v6;
 
@@ -1324,7 +1325,11 @@ static LRESULT CALLBACK parent_wnd_proc(HWND hWnd, UINT message, WPARAM wParam,
               {
                 NMTVDISPINFOA *disp = (NMTVDISPINFOA *)lParam;
                 if (disp->item.mask & TVIF_TEXT)
+                {
                     todo_wine ok(disp->item.cchTextMax == MAX_PATH, "cchTextMax is %d\n", disp->item.cchTextMax);
+                    if (g_endedit_overwrite_contents)
+                        strcpy(disp->item.pszText, g_endedit_overwrite_contents);
+                }
                 return TRUE;
               }
             case TVN_ITEMEXPANDINGA:
@@ -1717,6 +1722,23 @@ static void test_itemedit(void)
     expect(TRUE, r);
     todo_wine expect(MAX_PATH - 1, strlen(item.pszText));
 
+    /* Overwriting of pszText contents in TVN_ENDLABELEDIT */
+    edit = (HWND)SendMessageA(hTree, TVM_EDITLABELA, 0, (LPARAM)hRoot);
+    ok(IsWindow(edit), "Expected valid handle\n");
+    r = SetWindowTextA(edit, "old");
+    expect(TRUE, r);
+    g_endedit_overwrite_contents = "<new_contents>";
+    r = SendMessageA(hTree, WM_COMMAND, MAKEWPARAM(0, EN_KILLFOCUS), (LPARAM)edit);
+    expect(0, r);
+    g_endedit_overwrite_contents = NULL;
+    item.mask = TVIF_TEXT;
+    item.hItem = hRoot;
+    item.pszText = buffA;
+    item.cchTextMax = ARRAY_SIZE(buffA);
+    r = SendMessageA(hTree, TVM_GETITEMA, 0, (LPARAM)&item);
+    expect(TRUE, r);
+    expect(0, strcmp(item.pszText, "<new_contents>"));
+
     DestroyWindow(hTree);
 }
 




More information about the wine-cvs mailing list