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