[PATCH v2 5/8] comctl32/tests: Test both LBS_OWNERDRAWFIXED and LBS_OWNERDRAWVARIABLE at once
Gabriel Ivăncescu
gabrielopcode at gmail.com
Tue Nov 6 05:30:57 CST 2018
Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
---
Proves previous patch's behavior.
dlls/comctl32/tests/listbox.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/dlls/comctl32/tests/listbox.c b/dlls/comctl32/tests/listbox.c
index ad341c5..e7777d1 100644
--- a/dlls/comctl32/tests/listbox.c
+++ b/dlls/comctl32/tests/listbox.c
@@ -436,6 +436,32 @@ static void test_ownerdraw(void)
DestroyWindow(parent);
}
+static void test_both_ownerdraw(void)
+{
+ HWND hLB;
+ INT ret;
+
+ /* test both FIXED and VARIABLE at once, since 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());
+ if (!hLB) return;
+
+ ret = SendMessageA(hLB, LB_INSERTSTRING, -1, 0);
+ ok(ret == 0, "expected 0, got %d\n", ret);
+ ret = SendMessageA(hLB, LB_INSERTSTRING, -1, 0);
+ ok(ret == 1, "expected 1, got %d\n", ret);
+
+ ret = SendMessageA(hLB, LB_SETITEMHEIGHT, 0, 13);
+ ok(ret == LB_OKAY, "LB_SETITEMHEIGHT failed: %d\n", ret);
+ ret = SendMessageA(hLB, LB_SETITEMHEIGHT, 1, 42);
+ ok(ret == LB_OKAY, "LB_SETITEMHEIGHT failed: %d\n", ret);
+
+ ret = SendMessageA(hLB, LB_GETITEMHEIGHT, 0, 0);
+ ok(ret == 42, "LBS_OWNERDRAWFIXED did not override LBS_OWNERDRAWVARIABLE, got height %d\n", ret);
+
+ DestroyWindow (hLB);
+}
+
#define listbox_test_query(exp, got) \
ok(exp.selected == got.selected, "expected selected %d, got %d\n", exp.selected, got.selected); \
ok(exp.anchor == got.anchor, "expected anchor %d, got %d\n", exp.anchor, got.anchor); \
@@ -2216,6 +2242,7 @@ START_TEST(listbox)
test_listbox();
test_item_height();
test_ownerdraw();
+ test_both_ownerdraw();
test_LB_SELITEMRANGE();
test_LB_SETCURSEL();
test_listbox_height();
--
2.19.1
More information about the wine-devel
mailing list