2009/4/15 Florian Köberle florian@fkoeberle.de:
dlls/comctl32/tests/treeview.c | 80 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 80 insertions(+), 0 deletions(-)
diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c index 5f310b5..7d9fcfa 100644 --- a/dlls/comctl32/tests/treeview.c +++ b/dlls/comctl32/tests/treeview.c @@ -748,6 +748,84 @@ static LRESULT CALLBACK MyWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPa return 0L; }
+static void TestExpandInvisible(void) +{
- static CHAR nodeRText[] = "R",
 - nodeIText[] = "I",
 - nodeIIText[] = "II",
 - node1Text[] = "1",
 - node2Text[] = "2";
 - TVINSERTSTRUCTA ins;
 - HTREEITEM nodeR;
 - HTREEITEM nodeI;
 - HTREEITEM nodeII;
 - HTREEITEM node1;
 - HTREEITEM node2;
 - RECT dummyRect;
 - BOOL nodeIVisible;
 - BOOL nodeIIVisible;
 - BOOL node1Visible;
 - BOOL node2Visible;
 - HWND window = CreateWindowExA(0, "MyTestWnd", "treeview: TestExpandInvisible", WS_OVERLAPPEDWINDOW,
 - CW_USEDEFAULT, CW_USEDEFAULT, 130, 105, NULL, NULL, GetModuleHandleA(NULL), 0);
 - HWND tree = CreateWindowExA(WS_EX_CLIENTEDGE, WC_TREEVIEWA, NULL, WS_CHILD|WS_VISIBLE|
 - TVS_LINESATROOT|TVS_HASLINES|TVS_HASBUTTONS|TVS_EDITLABELS,
 - 0, 0, 120, 100, window, (HMENU)100, GetModuleHandleA(0), 0);
 - ins.hParent = TVI_ROOT;
 - ins.hInsertAfter = TVI_ROOT;
 - U(ins).item.mask = TVIF_TEXT;
 - U(ins).item.pszText = nodeRText;
 - nodeR = TreeView_InsertItem(tree, &ins);
 - assert(nodeR);
 - ins.hInsertAfter = TVI_LAST;
 - U(ins).item.mask = TVIF_TEXT;
 - ins.hParent = nodeR;
 - U(ins).item.pszText = nodeIText;
 - nodeI = TreeView_InsertItem(tree, &ins);
 - assert(nodeI);
 - U(ins).item.pszText = nodeIIText;
 - nodeII = TreeView_InsertItem(tree, &ins);
 - assert(nodeII);
 - ins.hParent = nodeI;
 - U(ins).item.pszText = node1Text;
 - node1 = TreeView_InsertItem(tree, &ins);
 - assert(node1);
 - U(ins).item.pszText = node2Text;
 - node2 = TreeView_InsertItem(tree, &ins);
 - assert(node1);
 - nodeIVisible = TreeView_GetItemRect(tree, nodeI, &dummyRect, FALSE);
 - ok(!nodeIVisible, "Node I should not be visible.\n");
 - node1Visible = TreeView_GetItemRect(tree, node1, &dummyRect, FALSE);
 - ok(!node1Visible, "Node 1 should not be visible.\n");
 - node2Visible = TreeView_GetItemRect(tree, node2, &dummyRect, FALSE);
 - ok(!node2Visible, "Node 2 should not be visible.\n");
 - nodeIIVisible = TreeView_GetItemRect(tree, nodeII, &dummyRect, FALSE);
 - ok(!nodeIIVisible, "Node II should not be visible.\n");
 - ok(TreeView_Expand(tree, nodeI, TVE_EXPAND), "Expand of node I failed.\n");
 - nodeIVisible = TreeView_GetItemRect(tree, nodeI, &dummyRect, FALSE);
 - ok(!nodeIVisible, "Node I should not be visible.\n");
 - node1Visible = TreeView_GetItemRect(tree, node1, &dummyRect, FALSE);
 +todo_wine
- ok(!node1Visible, "Node 1 should not be visible.\n");
 - node2Visible = TreeView_GetItemRect(tree, node2, &dummyRect, FALSE);
 +todo_wine
- ok(!node2Visible, "Node 2 should not be visible.\n");
 - nodeIIVisible = TreeView_GetItemRect(tree, nodeII, &dummyRect, FALSE);
 +todo_wine
- ok(!nodeIIVisible, "Node II should not be visible.\n");
 +}
START_TEST(treeview) { HMODULE hComctl32; @@ -819,4 +897,6 @@ START_TEST(treeview) TranslateMessage(&msg); DispatchMessageA(&msg); }
- TestExpandInvisible();
 }
1.5.4.3
Hi Florian,
I think you should use already created dialog and treeview. Place your new function just after TestCallback(), clear tree view and fill it, then just test visibility of expandable items.