comctl32/tests: Add tests for negative subitems independent of local settings.
This commit is contained in:
parent
6a3ca3ca5d
commit
227b1fe2ca
@ -2992,7 +2992,8 @@ static void test_hittest(void)
|
|||||||
LVITEMA item;
|
LVITEMA item;
|
||||||
static CHAR text[] = "1234567890ABCDEFGHIJKLMNOPQRST";
|
static CHAR text[] = "1234567890ABCDEFGHIJKLMNOPQRST";
|
||||||
POINT pos;
|
POINT pos;
|
||||||
INT x, y;
|
INT x, y, i;
|
||||||
|
WORD horiz, vert;
|
||||||
HIMAGELIST himl, himl2;
|
HIMAGELIST himl, himl2;
|
||||||
HBITMAP hbmp;
|
HBITMAP hbmp;
|
||||||
|
|
||||||
@ -3020,6 +3021,11 @@ static void test_hittest(void)
|
|||||||
r = SendMessage(hwnd, LVM_GETITEMRECT, 0, (LPARAM)&bounds);
|
r = SendMessage(hwnd, LVM_GETITEMRECT, 0, (LPARAM)&bounds);
|
||||||
ok(bounds.bottom - bounds.top > 0, "Expected non zero item height\n");
|
ok(bounds.bottom - bounds.top > 0, "Expected non zero item height\n");
|
||||||
ok(bounds.right - bounds.left > 0, "Expected non zero item width\n");
|
ok(bounds.right - bounds.left > 0, "Expected non zero item width\n");
|
||||||
|
r = SendMessage(hwnd, LVM_GETITEMSPACING, TRUE, 0);
|
||||||
|
horiz = LOWORD(r);
|
||||||
|
vert = HIWORD(r);
|
||||||
|
ok(bounds.bottom - bounds.top == vert,
|
||||||
|
"Horizontal spacing inconsistent (%d != %d)\n", bounds.bottom - bounds.top, vert);
|
||||||
r = SendMessage(hwnd, LVM_GETITEMPOSITION, 0, (LPARAM)&pos);
|
r = SendMessage(hwnd, LVM_GETITEMPOSITION, 0, (LPARAM)&pos);
|
||||||
expect(TRUE, r);
|
expect(TRUE, r);
|
||||||
|
|
||||||
@ -3052,8 +3058,18 @@ static void test_hittest(void)
|
|||||||
test_lvm_subitemhittest(hwnd, x, y, -1, -1, LVHT_NOWHERE, FALSE, FALSE, FALSE);
|
test_lvm_subitemhittest(hwnd, x, y, -1, -1, LVHT_NOWHERE, FALSE, FALSE, FALSE);
|
||||||
/* subitem returned with -1 item too */
|
/* subitem returned with -1 item too */
|
||||||
x = pos.x + 150;
|
x = pos.x + 150;
|
||||||
y = -1;
|
y = bounds.top - vert;
|
||||||
test_lvm_subitemhittest(hwnd, x, y, -1, 1, LVHT_NOWHERE, FALSE, FALSE, FALSE);
|
test_lvm_subitemhittest(hwnd, x, y, -1, 1, LVHT_NOWHERE, FALSE, FALSE, FALSE);
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y - vert + 1, -1, 1, LVHT_NOWHERE, FALSE, FALSE, FALSE);
|
||||||
|
/* return values appear to underflow with negative indices */
|
||||||
|
i = -2;
|
||||||
|
y = y - vert;
|
||||||
|
while (i > -10) {
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y, i, 1, LVHT_ONITEMLABEL, TRUE, FALSE, TRUE);
|
||||||
|
test_lvm_subitemhittest(hwnd, x, y - vert + 1, i, 1, LVHT_ONITEMLABEL, TRUE, FALSE, TRUE);
|
||||||
|
y = y - vert;
|
||||||
|
i--;
|
||||||
|
}
|
||||||
/* parent client area is 100x100 by default */
|
/* parent client area is 100x100 by default */
|
||||||
MoveWindow(hwnd, 0, 0, 300, 100, FALSE);
|
MoveWindow(hwnd, 0, 0, 300, 100, FALSE);
|
||||||
x = pos.x + 150; /* outside column */
|
x = pos.x + 150; /* outside column */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user