Daniel Jelinski : comctl32/tests: Added tests for treeview TVM_HITTEST message.

Alexandre Julliard julliard at winehq.org
Thu Apr 5 12:31:45 CDT 2012


Module: wine
Branch: master
Commit: cd8609597a9822e7fe2c6870fbfcabfea7bef58e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=cd8609597a9822e7fe2c6870fbfcabfea7bef58e

Author: Daniel Jelinski <djelinski1 at gmail.com>
Date:   Mon Apr  2 22:30:04 2012 +0200

comctl32/tests: Added tests for treeview TVM_HITTEST message.

---

 dlls/comctl32/tests/treeview.c |   42 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c
index 61a3ce6..2246c79 100644
--- a/dlls/comctl32/tests/treeview.c
+++ b/dlls/comctl32/tests/treeview.c
@@ -1788,6 +1788,47 @@ static void test_TVM_GETNEXTITEM(void)
     DestroyWindow(hTree);
 }
 
+static void test_TVM_HITTEST(void)
+{
+    HWND hTree;
+    LRESULT ret;
+    RECT rc;
+    TVHITTESTINFO ht;
+
+    hTree = create_treeview_control(0);
+    fill_tree(hTree);
+
+    *(HTREEITEM*)&rc = hRoot;
+    ret = SendMessage(hTree, TVM_GETITEMRECT, TRUE, (LPARAM)&rc);
+    expect(TRUE, (BOOL)ret);
+
+    ht.pt.x = rc.left-1;
+    ht.pt.y = rc.top;
+
+    ret = SendMessage(hTree, TVM_HITTEST, 0, (LPARAM)&ht);
+    ok((HTREEITEM)ret == hRoot, "got %p, expected %p\n", (HTREEITEM)ret, hRoot);
+    ok(ht.hItem == hRoot, "got %p, expected %p\n", ht.hItem, hRoot);
+    ok(ht.flags == TVHT_ONITEMBUTTON, "got %d, expected %d\n", ht.flags, TVHT_ONITEMBUTTON);
+
+    ret = SendMessageA(hTree, TVM_EXPAND, TVE_EXPAND, (LPARAM)hRoot);
+    expect(TRUE, (BOOL)ret);
+
+    *(HTREEITEM*)&rc = hChild;
+    ret = SendMessage(hTree, TVM_GETITEMRECT, TRUE, (LPARAM)&rc);
+    expect(TRUE, (BOOL)ret);
+
+    ht.pt.x = rc.left-1;
+    ht.pt.y = rc.top;
+
+    ret = SendMessage(hTree, TVM_HITTEST, 0, (LPARAM)&ht);
+    ok((HTREEITEM)ret == hChild, "got %p, expected %p\n", (HTREEITEM)ret, hChild);
+    ok(ht.hItem == hChild, "got %p, expected %p\n", ht.hItem, hChild);
+    /* Wine returns item button here, but this item has no button */
+    todo_wine ok(ht.flags == TVHT_ONITEMINDENT, "got %d, expected %d\n", ht.flags, TVHT_ONITEMINDENT);
+
+    DestroyWindow(hTree);
+}
+
 START_TEST(treeview)
 {
     HMODULE hComctl32;
@@ -1859,6 +1900,7 @@ START_TEST(treeview)
     test_htreeitem_layout();
     test_TVS_CHECKBOXES();
     test_TVM_GETNEXTITEM();
+    test_TVM_HITTEST();
 
     if (!load_v6_module(&ctx_cookie, &hCtx))
     {




More information about the wine-cvs mailing list