Module: wine Branch: master Commit: 9ef65cf3d6af2e488d7efcb94fe61aa7e8540351 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9ef65cf3d6af2e488d7efcb94f...
Author: Nikolay Sivov nsivov@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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)) {