[PATCH 1/2] comctl32/tests: Test expanding of a invisible sub tree.
Florian Köberle
florian at fkoeberle.de
Wed Apr 15 05:04:01 CDT 2009
---
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
More information about the wine-patches
mailing list