comctl32: Test overwriting of pszText contents in TVN_ENDLABELEDIT.

Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Damjan Jovanovic 2019-11-13 05:54:11 +02:00 committed by Alexandre Julliard
parent 565b0f5d50
commit 1fa32f9a53
1 changed files with 22 additions and 0 deletions

View File

@ -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);
}