Module: wine Branch: master Commit: 09d6a6c8c991e8fb9452f73f9b681a8b8a0088a4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=09d6a6c8c991e8fb9452f73f9b...
Author: Nikolay Sivov bunglehead@gmail.com Date: Wed Apr 22 13:05:56 2009 -0400
comctl32/listview: Additional tests for LVM_GETSUBITEMRECT.
---
dlls/comctl32/tests/listview.c | 41 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c index 6f205fd..fba7a01 100644 --- a/dlls/comctl32/tests/listview.c +++ b/dlls/comctl32/tests/listview.c @@ -847,6 +847,7 @@ static void test_create(void) LONG_PTR ret; LONG r; LVCOLUMNA col; + RECT rect; WNDCLASSEX cls; cls.cbSize = sizeof(WNDCLASSEX); ok(GetClassInfoEx(GetModuleHandle(NULL), "SysListView32", &cls), "GetClassInfoEx failed\n"); @@ -976,6 +977,31 @@ static void test_create(void) ok(IsWindow(hHeader), "Header should be created\n"); ok(hHeader == GetDlgItem(hList, 0), "Expected header as dialog item\n"); DestroyWindow(hList); + + /* requesting header info with LVM_GETSUBITEMRECT doesn't create it */ + hList = CreateWindow("SysListView32", "Test", LVS_REPORT, 0, 0, 100, 100, NULL, NULL, + GetModuleHandle(NULL), 0); + ok(!IsWindow(hHeader), "Header shouldn't be created\n"); + ok(NULL == GetDlgItem(hList, 0), "NULL dialog item expected\n"); + + rect.left = LVIR_BOUNDS; + rect.top = 1; + rect.right = rect.bottom = -10; + r = SendMessage(hList, LVM_GETSUBITEMRECT, -1, (LPARAM)&rect); +todo_wine + ok(r != 0, "Expected not-null LRESULT\n"); + + hHeader = (HWND)SendMessage(hList, LVM_GETHEADER, 0, 0); + ok(!IsWindow(hHeader), "Header shouldn't be created\n"); + ok(NULL == GetDlgItem(hList, 0), "NULL dialog item expected\n"); + + expect(0, rect.left); +todo_wine { + expect(0, rect.right); + expect(0, rect.top); + expect(0, rect.bottom); +} + DestroyWindow(hList); }
static void test_redraw(void) @@ -1529,6 +1555,21 @@ todo_wine{ }
DestroyWindow(hwnd); + + /* try it for non LVS_REPORT style */ + hwnd = CreateWindow("SysListView32", "Test", LVS_ICON, 0, 0, 100, 100, NULL, NULL, + GetModuleHandle(NULL), 0); + rect.left = LVIR_BOUNDS; + rect.top = 1; + rect.right = rect.bottom = -10; + r = SendMessage(hwnd, LVM_GETSUBITEMRECT, -1, (LPARAM)&rect); + ok(r == 0, "Expected not-null LRESULT\n"); + /* rect is unchanged */ + expect(0, rect.left); + expect(-10, rect.right); + expect(1, rect.top); + expect(-10, rect.bottom); + DestroyWindow(hwnd); }
/* comparison callback for test_sorting */