comctl32/tests: Add more Listbox tests for ownerdraw styles.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Gabriel Ivăncescu 2018-11-11 10:04:11 +03:00 committed by Alexandre Julliard
parent 982b93148c
commit ed7804e714
1 changed files with 50 additions and 0 deletions

View File

@ -433,6 +433,35 @@ static void test_ownerdraw(void)
ok(rc.top < 0, "rc.top is not negative (%d)\n", rc.top); ok(rc.top < 0, "rc.top is not negative (%d)\n", rc.top);
DestroyWindow(hLB); DestroyWindow(hLB);
/* Both FIXED and VARIABLE, FIXED should override VARIABLE. */
hLB = CreateWindowA(WC_LISTBOXA, "TestList", LBS_OWNERDRAWFIXED | LBS_OWNERDRAWVARIABLE, 0, 0, 100, 100,
NULL, NULL, NULL, 0);
ok(hLB != NULL, "last error 0x%08x\n", GetLastError());
ret = SendMessageA(hLB, LB_INSERTSTRING, -1, 0);
ok(ret == 0, "Unexpected return value %d.\n", ret);
ret = SendMessageA(hLB, LB_INSERTSTRING, -1, 0);
ok(ret == 1, "Unexpected return value %d.\n", ret);
ret = SendMessageA(hLB, LB_SETITEMHEIGHT, 0, 13);
ok(ret == LB_OKAY, "Failed to set item height, %d.\n", ret);
ret = SendMessageA(hLB, LB_GETITEMHEIGHT, 0, 0);
ok(ret == 13, "Unexpected item height %d.\n", ret);
ret = SendMessageA(hLB, LB_SETITEMHEIGHT, 1, 42);
ok(ret == LB_OKAY, "Failed to set item height, %d.\n", ret);
ret = SendMessageA(hLB, LB_GETITEMHEIGHT, 0, 0);
todo_wine
ok(ret == 42, "Unexpected item height %d.\n", ret);
ret = SendMessageA(hLB, LB_GETITEMHEIGHT, 1, 0);
ok(ret == 42, "Unexpected item height %d.\n", ret);
DestroyWindow (hLB);
DestroyWindow(parent); DestroyWindow(parent);
} }
@ -1737,7 +1766,13 @@ static void test_listbox_dlgdir(void)
static void test_set_count( void ) static void test_set_count( void )
{ {
static const DWORD styles[] =
{
LBS_OWNERDRAWFIXED,
LBS_HASSTRINGS,
};
HWND parent, listbox; HWND parent, listbox;
unsigned int i;
LONG ret; LONG ret;
RECT r; RECT r;
@ -1767,6 +1802,21 @@ static void test_set_count( void )
ok( !IsRectEmpty( &r ), "got empty rect\n"); ok( !IsRectEmpty( &r ), "got empty rect\n");
DestroyWindow( listbox ); DestroyWindow( listbox );
for (i = 0; i < ARRAY_SIZE(styles); ++i)
{
listbox = create_listbox( styles[i] | WS_CHILD | WS_VISIBLE, parent );
SetLastError( 0xdeadbeef );
ret = SendMessageA( listbox, LB_SETCOUNT, 100, 0 );
todo_wine_if(i == 0)
ok( ret == LB_ERR, "expected %d, got %d\n", LB_ERR, ret );
todo_wine_if(i == 1)
ok( GetLastError() == 0xdeadbeef, "Unexpected error %d.\n", GetLastError() );
DestroyWindow( listbox );
}
DestroyWindow( parent ); DestroyWindow( parent );
} }