Nicolas Le Cam : user32/tests: Fix scroll tests when theming is disabled.

Alexandre Julliard julliard at winehq.org
Tue May 5 09:12:53 CDT 2009


Module: wine
Branch: master
Commit: ffba5470c0bd20e6149895838fa5b29fd1115b78
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ffba5470c0bd20e6149895838fa5b29fd1115b78

Author: Nicolas Le Cam <niko.lecam at gmail.com>
Date:   Mon May  4 23:49:14 2009 +0200

user32/tests: Fix scroll tests when theming is disabled.

---

 dlls/user32/tests/scroll.c |   43 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 35 insertions(+), 8 deletions(-)

diff --git a/dlls/user32/tests/scroll.c b/dlls/user32/tests/scroll.c
index 6082d6f..55fb6f6 100644
--- a/dlls/user32/tests/scroll.c
+++ b/dlls/user32/tests/scroll.c
@@ -26,6 +26,7 @@
 #include "wine/test.h"
 
 static HWND hScroll, hMainWnd;
+static BOOL bThemeActive = FALSE;
 
 static LRESULT CALLBACK MyWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
 {
@@ -277,11 +278,18 @@ todo_wine
     /* report the windows style */
     winstyle = GetWindowLongW( hwnd, GWL_STYLE );
     /* WS_VSCROLL added to the window style */
-todo_wine
     if( !(style & WS_VSCROLL))
-        ok( (winstyle & (WS_HSCROLL|WS_VSCROLL)) == ( style | WS_VSCROLL),
-                "unexpected style change %8lx expected %8lx\n",
-                (winstyle & (WS_HSCROLL|WS_VSCROLL)), style | WS_VSCROLL);
+    {
+        if (bThemeActive || style != WS_HSCROLL)
+todo_wine
+            ok( (winstyle & (WS_HSCROLL|WS_VSCROLL)) == ( style | WS_VSCROLL),
+                    "unexpected style change %8lx expected %8lx\n",
+                    (winstyle & (WS_HSCROLL|WS_VSCROLL)), style | WS_VSCROLL);
+        else
+            ok( (winstyle & (WS_HSCROLL|WS_VSCROLL)) == style,
+                    "unexpected style change %8lx expected %8x\n",
+                    (winstyle & (WS_HSCROLL|WS_VSCROLL)), style);
+    }
     /* do the test again with H and V reversed.
      * Start with a clean window */
     DestroyWindow( hwnd);
@@ -308,11 +316,18 @@ todo_wine
     /* report the windows style */
     winstyle = GetWindowLongW( hwnd, GWL_STYLE );
     /* WS_HSCROLL added to the window style */
-todo_wine
     if( !(style & WS_HSCROLL))
-        ok( (winstyle & (WS_HSCROLL|WS_VSCROLL)) == ( style | WS_HSCROLL),
-                "unexpected style change %8lx expected %8lx\n",
-                (winstyle & (WS_HSCROLL|WS_VSCROLL)), style | WS_HSCROLL);
+    {
+        if (bThemeActive || style != WS_VSCROLL)
+todo_wine
+            ok( (winstyle & (WS_HSCROLL|WS_VSCROLL)) == ( style | WS_HSCROLL),
+                    "unexpected style change %8lx expected %8lx\n",
+                    (winstyle & (WS_HSCROLL|WS_VSCROLL)), style | WS_HSCROLL);
+        else
+            ok( (winstyle & (WS_HSCROLL|WS_VSCROLL)) == style,
+                    "unexpected style change %8lx expected %8x\n",
+                    (winstyle & (WS_HSCROLL|WS_VSCROLL)), style);
+    }
     /* Slightly change the test to use SetScrollInfo
      * Start with a clean window */
     DestroyWindow( hwnd);
@@ -369,6 +384,8 @@ todo_wine
 START_TEST ( scroll )
 {
     WNDCLASSA wc;
+    HMODULE hUxtheme;
+    BOOL (WINAPI * pIsThemeActive)(VOID);
 
     wc.style = CS_HREDRAW | CS_VREDRAW;
     wc.cbClsExtra = 0;
@@ -396,6 +413,16 @@ START_TEST ( scroll )
     scrollbar_test3();
     scrollbar_test4();
 
+    /* Some test results vary depending of theming being active or not */
+    hUxtheme = LoadLibraryA("uxtheme.dll");
+    if (hUxtheme)
+    {
+        pIsThemeActive = (void*)GetProcAddress(hUxtheme, "IsThemeActive");
+        if (pIsThemeActive)
+            bThemeActive = pIsThemeActive();
+        FreeLibrary(hUxtheme);
+    }
+
     scrollbar_test_default( 0);
     scrollbar_test_default( WS_HSCROLL);
     scrollbar_test_default( WS_VSCROLL);




More information about the wine-cvs mailing list