Nikolay Sivov : comctl32/tests: Test that callback mask is stored as is, check more message results.

Alexandre Julliard julliard at winehq.org
Tue Aug 2 17:33:33 CDT 2016


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Tue Aug  2 21:03:47 2016 +0300

comctl32/tests: Test that callback mask is stored as is, check more message results.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/comctl32/tests/listview.c | 73 +++++++++++++++++++++++++++++++-----------
 1 file changed, 55 insertions(+), 18 deletions(-)

diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c
index 97f611f..811800c 100644
--- a/dlls/comctl32/tests/listview.c
+++ b/dlls/comctl32/tests/listview.c
@@ -1179,7 +1179,8 @@ static void test_items(void)
     r = SendMessageA(hwnd, LVM_GETITEMA, 0, (LPARAM) &item);
     expect(1, r);
     ok(item.state & LVIS_SELECTED, "Expected LVIS_SELECTED\n");
-    SendMessageA(hwnd, LVM_DELETEITEM, 0, 0);
+    r = SendMessageA(hwnd, LVM_DELETEITEM, 0, 0);
+    ok(r, "got %d\n", r);
 
     /* LVIS_SELECTED with zero stateMask */
     /* set */
@@ -1201,7 +1202,8 @@ static void test_items(void)
     r = SendMessageA(hwnd, LVM_GETITEMA, 0, (LPARAM) &item);
     expect(1, r);
     ok(item.state & LVIS_FOCUSED, "Expected LVIS_FOCUSED\n");
-    SendMessageA(hwnd, LVM_DELETEITEM, 0, 0);
+    r = SendMessageA(hwnd, LVM_DELETEITEM, 0, 0);
+    ok(r, "got %d\n", r);
 
     /* LVIS_CUT with LVIS_FOCUSED stateMask */
     /* set */
@@ -1223,7 +1225,8 @@ static void test_items(void)
     r = SendMessageA(hwnd, LVM_GETITEMA, 0, (LPARAM) &item);
     expect(1, r);
     ok(item.state & LVIS_CUT, "Expected LVIS_CUT\n");
-    SendMessageA(hwnd, LVM_DELETEITEM, 0, 0);
+    r = SendMessageA(hwnd, LVM_DELETEITEM, 0, 0);
+    ok(r, "got %d\n", r);
 
     /* Insert an item with just a param */
     memset (&item, 0xcc, sizeof (item));
@@ -2294,15 +2297,18 @@ static void test_multiselect(void)
 	/* deselect all items */
         item.state = 0;
         item.stateMask = LVIS_SELECTED;
-        SendMessageA(hwnd, LVM_SETITEMSTATE, -1, (LPARAM)&item);
+        r = SendMessageA(hwnd, LVM_SETITEMSTATE, -1, (LPARAM)&item);
+        ok(r, "got %d\n", r);
 	SendMessageA(hwnd, LVM_SETSELECTIONMARK, 0, -1);
 
 	/* set initial position */
-	SendMessageA(hwnd, LVM_SETSELECTIONMARK, 0, (task.initPos == -1 ? item_count -1 : task.initPos));
+        r = SendMessageA(hwnd, LVM_SETSELECTIONMARK, 0, (task.initPos == -1 ? item_count -1 : task.initPos));
+        ok(r, "got %d\n", r);
 
         item.state = LVIS_SELECTED;
         item.stateMask = LVIS_SELECTED;
-        SendMessageA(hwnd, LVM_SETITEMSTATE, task.initPos == -1 ? item_count-1 : task.initPos, (LPARAM)&item);
+        r = SendMessageA(hwnd, LVM_SETITEMSTATE, task.initPos == -1 ? item_count-1 : task.initPos, (LPARAM)&item);
+        ok(r, "got %d\n", r);
 
 	selected_count = SendMessageA(hwnd, LVM_GETSELECTEDCOUNT, 0, 0);
 	ok(selected_count == 1, "expected 1, got %d\n", selected_count);
@@ -2347,7 +2353,8 @@ static void test_multiselect(void)
     /* select all, check notifications */
     item.state = 0;
     item.stateMask = LVIS_SELECTED;
-    SendMessageA(hwnd, LVM_SETITEMSTATE, -1, (LPARAM)&item);
+    r = SendMessageA(hwnd, LVM_SETITEMSTATE, -1, (LPARAM)&item);
+    ok(r, "got %d\n", r);
 
     flush_sequences(sequences, NUM_MSG_SEQUENCES);
 
@@ -2381,7 +2388,8 @@ static void test_multiselect(void)
 
     item.state = 0;
     item.stateMask = LVIS_SELECTED;
-    SendMessageA(hwnd, LVM_SETITEMSTATE, -1, (LPARAM)&item);
+    r = SendMessageA(hwnd, LVM_SETITEMSTATE, -1, (LPARAM)&item);
+    ok(r, "got %d\n", r);
 
     ok_sequence(sequences, PARENT_SEQ_INDEX, change_all_parent_seq,
                 "deselect all notification", FALSE);
@@ -2410,11 +2418,13 @@ static void test_multiselect(void)
     ok_sequence(sequences, PARENT_SEQ_INDEX, changing_all_parent_seq,
                 "set state all notification 3", FALSE);
 
-    SendMessageA(hwnd, LVM_SETSELECTIONMARK, 0, -1);
+    r = SendMessageA(hwnd, LVM_SETSELECTIONMARK, 0, -1);
+    ok(r, "got %d\n", r);
     for (i = 0; i < 3; i++) {
         item.state = LVIS_SELECTED;
         item.stateMask = LVIS_SELECTED;
-        SendMessageA(hwnd, LVM_SETITEMSTATE, i, (LPARAM)&item);
+        r = SendMessageA(hwnd, LVM_SETITEMSTATE, i, (LPARAM)&item);
+        ok(r, "got %d\n", r);
     }
 
     r = SendMessageA(hwnd, LVM_GETSELECTEDCOUNT, 0, 0);
@@ -2435,13 +2445,14 @@ static void test_multiselect(void)
     }
     r = SendMessageA(hwnd, LVM_GETSELECTEDCOUNT, 0, 0);
     expect(3, r);
-    SendMessageA(hwnd, LVM_GETSELECTIONMARK, 0, 0);
-    expect(3, r);
+    r = SendMessageA(hwnd, LVM_GETSELECTIONMARK, 0, 0);
+    ok(r == -1, "got %d\n", r);
 
     /* select one more */
     item.state = LVIS_SELECTED;
     item.stateMask = LVIS_SELECTED;
-    SendMessageA(hwnd, LVM_SETITEMSTATE, 3, (LPARAM)&item);
+    r = SendMessageA(hwnd, LVM_SETITEMSTATE, 3, (LPARAM)&item);
+    ok(r, "got %d\n", r);
 
     for (i=0;i<3;i++) {
         r = SendMessageA(hwnd, LVM_GETITEMSTATE, i, LVIS_SELECTED);
@@ -2461,7 +2472,8 @@ static void test_multiselect(void)
     item.stateMask = LVIS_SELECTED;
     r = SendMessageA(hwnd, LVM_SETITEMSTATE, -1, (LPARAM)&item);
     expect(TRUE, r);
-    SendMessageA(hwnd, LVM_SETSELECTIONMARK, 0, -1);
+    r = SendMessageA(hwnd, LVM_SETSELECTIONMARK, 0, -1);
+    ok(r == -1, "got %d\n", r);
 
     item.stateMask = LVIS_SELECTED;
     item.state     = LVIS_SELECTED;
@@ -2681,7 +2693,8 @@ static void test_subitem_rect(void)
     expect(100, rect.left);
     expect(250, rect.right);
 
-    SendMessageA(hwnd, LVM_SCROLL, 10, 0);
+    r = SendMessageA(hwnd, LVM_SCROLL, 10, 0);
+    ok(r, "got %d\n", r);
 
     SetRect(&rect, LVIR_BOUNDS, 1, 0, 0);
     r = SendMessageA(hwnd, LVM_GETSUBITEMRECT, 0, (LPARAM)&rect);
@@ -3798,7 +3811,8 @@ static void test_getviewrect(void)
     memset(&item, 0, sizeof(item));
     item.iItem = 0;
     item.iSubItem = 0;
-    SendMessageA(hwnd, LVM_INSERTITEMA, 0, (LPARAM)&item);
+    r = SendMessageA(hwnd, LVM_INSERTITEMA, 0, (LPARAM)&item);
+    ok(!r, "got %d\n", r);
 
     r = SendMessageA(hwnd, LVM_SETCOLUMNWIDTH, 0, MAKELPARAM(100, 0));
     expect(TRUE, r);
@@ -3860,7 +3874,8 @@ static void test_getitemposition(void)
     ok_sequence(sequences, LISTVIEW_SEQ_INDEX, getitemposition_seq2, "get item position 2", TRUE);
 
     SetRectEmpty(&rect);
-    SendMessageA(header, HDM_GETITEMRECT, 0, (LPARAM)&rect);
+    r = SendMessageA(header, HDM_GETITEMRECT, 0, (LPARAM)&rect);
+    ok(r, "got %d\n", r);
     /* some padding? */
     expect(2, pt.x);
     /* offset by header height */
@@ -4859,7 +4874,8 @@ static void test_getcolumnwidth(void)
     /* default column width with item added */
     hwnd = create_listview_control(LVS_LIST);
     memset(&itema, 0, sizeof(itema));
-    SendMessageA(hwnd, LVM_INSERTITEMA, 0, (LPARAM)&itema);
+    ret = SendMessageA(hwnd, LVM_INSERTITEMA, 0, (LPARAM)&itema);
+    ok(!ret, "got %d\n", ret);
     ret = SendMessageA(hwnd, LVM_GETCOLUMNWIDTH, 0, 0);
     height = get_current_font_height(hwnd);
     ok((ret / height) >= 6, "got width %d, height %d\n", ret, height);
@@ -5798,6 +5814,26 @@ static void test_oneclickactivate(void)
     DestroyWindow(hwnd);
 }
 
+static void test_callback_mask(void)
+{
+    DWORD mask;
+    HWND hwnd;
+    BOOL ret;
+
+    hwnd = create_listview_control(LVS_REPORT);
+
+    ret = SendMessageA(hwnd, LVM_SETCALLBACKMASK, ~0u, 0);
+    ok(ret, "got %d\n", ret);
+
+    ret = SendMessageA(hwnd, LVM_SETCALLBACKMASK, ~0u, 1);
+    ok(ret, "got %d\n", ret);
+
+    mask = SendMessageA(hwnd, LVM_GETCALLBACKMASK, 0, 0);
+    ok(mask == ~0u, "got 0x%08x\n", mask);
+
+    DestroyWindow(hwnd);
+}
+
 START_TEST(listview)
 {
     HMODULE hComctl32;
@@ -5868,6 +5904,7 @@ START_TEST(listview)
     test_insertitem();
     test_header_proc();
     test_oneclickactivate();
+    test_callback_mask();
 
     if (!load_v6_module(&ctx_cookie, &hCtx))
     {




More information about the wine-cvs mailing list