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