Nikolay Sivov : comctl32/listview: Add tests for LVS_NOSORTHEADER switchover.
Alexandre Julliard
julliard at winehq.org
Thu May 7 09:25:37 CDT 2009
Module: wine
Branch: master
Commit: 4bc8e87ab604a3b655420a40405f159eae22f748
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4bc8e87ab604a3b655420a40405f159eae22f748
Author: Nikolay Sivov <bunglehead at gmail.com>
Date: Wed May 6 23:28:08 2009 +0400
comctl32/listview: Add tests for LVS_NOSORTHEADER switchover.
---
dlls/comctl32/listview.c | 2 -
dlls/comctl32/tests/listview.c | 42 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 133d3c2..a8ecd91 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -9631,8 +9631,6 @@ static INT LISTVIEW_StyleChanged(LISTVIEW_INFO *infoPtr, WPARAM wStyleType,
wStyleType, lpss->styleOld, lpss->styleNew);
if (wStyleType != GWL_STYLE) return 0;
-
- /* FIXME: if LVS_NOSORTHEADER changed, update header */
infoPtr->dwStyle = lpss->styleNew;
diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c
index b6cbd47..e94bdaa 100644
--- a/dlls/comctl32/tests/listview.c
+++ b/dlls/comctl32/tests/listview.c
@@ -2027,6 +2027,47 @@ static void test_norecompute(void)
DestroyWindow(hwnd);
}
+static void test_nosortheader(void)
+{
+ HWND hwnd, header;
+ LONG_PTR style;
+
+ hwnd = create_listview_control(0);
+ ok(hwnd != NULL, "failed to create a listview window\n");
+
+ header = (HWND)SendMessageA(hwnd, LVM_GETHEADER, 0, 0);
+ ok(IsWindow(header), "header expected\n");
+
+ style = GetWindowLongPtr(header, GWL_STYLE);
+ ok(style & HDS_BUTTONS, "expected header to have HDS_BUTTONS\n");
+
+ style = GetWindowLongPtr(hwnd, GWL_STYLE);
+ SetWindowLongPtr(hwnd, GWL_STYLE, style | LVS_NOSORTHEADER);
+ /* HDS_BUTTONS retained */
+ style = GetWindowLongPtr(header, GWL_STYLE);
+ ok(style & HDS_BUTTONS, "expected header to retain HDS_BUTTONS\n");
+
+ DestroyWindow(hwnd);
+
+ /* create with LVS_NOSORTHEADER */
+ hwnd = create_listview_control(LVS_NOSORTHEADER);
+ ok(hwnd != NULL, "failed to create a listview window\n");
+
+ header = (HWND)SendMessageA(hwnd, LVM_GETHEADER, 0, 0);
+ ok(IsWindow(header), "header expected\n");
+
+ style = GetWindowLongPtr(header, GWL_STYLE);
+ ok(!(style & HDS_BUTTONS), "expected header to have no HDS_BUTTONS\n");
+
+ style = GetWindowLongPtr(hwnd, GWL_STYLE);
+ SetWindowLongPtr(hwnd, GWL_STYLE, style & ~LVS_NOSORTHEADER);
+ /* not changed here */
+ style = GetWindowLongPtr(header, GWL_STYLE);
+ ok(!(style & HDS_BUTTONS), "expected header to have no HDS_BUTTONS\n");
+
+ DestroyWindow(hwnd);
+}
+
START_TEST(listview)
{
HMODULE hComctl32;
@@ -2068,4 +2109,5 @@ START_TEST(listview)
test_sorting();
test_ownerdata();
test_norecompute();
+ test_nosortheader();
}
More information about the wine-cvs
mailing list