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.