Alexandre Julliard : user32/tests: Fix some of the sysparams tests on Win9x and NT4.
Alexandre Julliard
julliard at winehq.org
Fri Nov 21 06:54:38 CST 2008
Module: wine
Branch: master
Commit: 3359f4d4e5a8200165d7c03fd9627c16435d2673
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3359f4d4e5a8200165d7c03fd9627c16435d2673
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Nov 20 20:46:54 2008 +0100
user32/tests: Fix some of the sysparams tests on Win9x and NT4.
---
dlls/user32/tests/sysparams.c | 36 ++++++++++++++++++++++--------------
1 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c
index 60a07af..0bd7d24 100644
--- a/dlls/user32/tests/sysparams.c
+++ b/dlls/user32/tests/sysparams.c
@@ -224,7 +224,7 @@ static BOOL test_error_msg ( int rc, const char *name )
if (rc==0)
{
- if (last_error==0xdeadbeef || last_error==ERROR_INVALID_SPI_VALUE)
+ if (last_error==0xdeadbeef || last_error==ERROR_INVALID_SPI_VALUE || last_error==ERROR_INVALID_PARAMETER)
{
trace("%s not supported on this platform. Skipping test\n", name);
}
@@ -1778,7 +1778,7 @@ static void test_SPI_SETSHOWSOUNDS( void ) /* 57 */
rc=SystemParametersInfoA( SPI_SETSHOWSOUNDS, vals[i], 0,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE );
ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError());
- test_change_message( SPI_SETSHOWSOUNDS, 0 );
+ test_change_message( SPI_SETSHOWSOUNDS, 1 );
test_reg_key( SPI_SETSHOWSOUNDS_REGKEY,
SPI_SETSHOWSOUNDS_VALNAME,
vals[i] ? "1" : "0" );
@@ -1814,7 +1814,7 @@ static void test_SPI_SETKEYBOARDPREF( void ) /* 69 */
rc=SystemParametersInfoA( SPI_SETKEYBOARDPREF, vals[i], 0,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE );
ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError());
- test_change_message( SPI_SETKEYBOARDPREF, 0 );
+ test_change_message( SPI_SETKEYBOARDPREF, 1 );
test_reg_key_ex2( SPI_SETKEYBOARDPREF_REGKEY, SPI_SETKEYBOARDPREF_REGKEY_LEGACY,
SPI_SETKEYBOARDPREF_VALNAME, SPI_SETKEYBOARDPREF_VALNAME_LEGACY,
vals[i] ? "1" : "0" );
@@ -1848,7 +1848,7 @@ static void test_SPI_SETSCREENREADER( void ) /* 71 */
rc=SystemParametersInfoA( SPI_SETSCREENREADER, vals[i], 0,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE );
ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError());
- test_change_message( SPI_SETSCREENREADER, 0 );
+ test_change_message( SPI_SETSCREENREADER, 1 );
test_reg_key_ex2( SPI_SETSCREENREADER_REGKEY, SPI_SETSCREENREADER_REGKEY_LEGACY,
SPI_SETSCREENREADER_VALNAME, SPI_SETSCREENREADER_VALNAME_LEGACY,
vals[i] ? "1" : "0" );
@@ -1917,7 +1917,7 @@ static void test_SPI_SETLOWPOWERACTIVE( void ) /* 85 */
rc=SystemParametersInfoA( SPI_SETLOWPOWERACTIVE, vals[i], 0,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE );
ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError());
- test_change_message( SPI_SETLOWPOWERACTIVE, 0 );
+ test_change_message( SPI_SETLOWPOWERACTIVE, 1 );
test_reg_key( SPI_SETLOWPOWERACTIVE_REGKEY,
SPI_SETLOWPOWERACTIVE_VALNAME,
vals[i] ? "1" : "0" );
@@ -1954,7 +1954,7 @@ static void test_SPI_SETPOWEROFFACTIVE( void ) /* 86 */
rc=SystemParametersInfoA( SPI_SETPOWEROFFACTIVE, vals[i], 0,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE );
ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError());
- test_change_message( SPI_SETPOWEROFFACTIVE, 0 );
+ test_change_message( SPI_SETPOWEROFFACTIVE, 1 );
test_reg_key( SPI_SETPOWEROFFACTIVE_REGKEY,
SPI_SETPOWEROFFACTIVE_VALNAME,
vals[i] ? "1" : "0" );
@@ -2206,7 +2206,7 @@ static void test_SPI_SETWHEELSCROLLCHARS( void ) /* 108 */
{
BOOL rc;
UINT old_chars;
- const UINT vals[]={0,32767};
+ const UINT vals[]={32767,0};
unsigned int i;
trace("testing SPI_{GET,SET}WHEELSCROLLCHARS\n");
@@ -2224,7 +2224,7 @@ static void test_SPI_SETWHEELSCROLLCHARS( void ) /* 108 */
rc=SystemParametersInfoA( SPI_SETWHEELSCROLLCHARS, vals[i], 0,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE );
- ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError());
+ if (!test_error_msg(rc,"SPI_SETWHEELSCROLLCHARS")) return;
test_change_message( SPI_SETWHEELSCROLLCHARS, 0 );
sprintf( buf, "%d", vals[i] );
test_reg_key( SPI_SETMOUSESCROLLCHARS_REGKEY,
@@ -2474,6 +2474,8 @@ static void test_GetSystemMetrics( void)
INT CaptionWidth;
MINIMIZEDMETRICS minim;
NONCLIENTMETRICS ncm;
+ SIZE screen;
+
minim.cbSize = sizeof( minim);
ncm.cbSize = sizeof( ncm);
SystemParametersInfo( SPI_GETMINIMIZEDMETRICS, 0, &minim, 0);
@@ -2549,8 +2551,9 @@ static void test_GetSystemMetrics( void)
/* SM_SECURE */
ok_gsm( SM_CXEDGE, 2);
ok_gsm( SM_CYEDGE, 2);
- ok_gsm( SM_CXMINSPACING, GetSystemMetrics( SM_CXMINIMIZED) + minim.iHorzGap );
- ok_gsm( SM_CYMINSPACING, GetSystemMetrics( SM_CYMINIMIZED) + minim.iVertGap );
+ /* sign-extension for iHorzGap/iVertGap is broken on Win9x */
+ ok_gsm( SM_CXMINSPACING, GetSystemMetrics( SM_CXMINIMIZED) + (short)minim.iHorzGap );
+ ok_gsm( SM_CYMINSPACING, GetSystemMetrics( SM_CYMINIMIZED) + (short)minim.iVertGap );
/* SM_CXSMICON */
/* SM_CYSMICON */
ok_gsm( SM_CYSMCAPTION, ncm.iSmCaptionHeight + 1);
@@ -2566,10 +2569,15 @@ static void test_GetSystemMetrics( void)
/* SM_ARRANGE */
ok_gsm( SM_CXMINIMIZED, minim.iWidth + 6);
ok_gsm( SM_CYMINIMIZED, GetSystemMetrics( SM_CYCAPTION) + 5);
- ok_gsm( SM_CXMAXTRACK, GetSystemMetrics( SM_CXVIRTUALSCREEN) +
- 4 + 2 * GetSystemMetrics( SM_CXFRAME));
- ok_gsm( SM_CYMAXTRACK, GetSystemMetrics( SM_CYVIRTUALSCREEN) +
- 4 + 2 * GetSystemMetrics( SM_CYFRAME));
+ screen.cx = GetSystemMetrics( SM_CXVIRTUALSCREEN );
+ screen.cy = GetSystemMetrics( SM_CYVIRTUALSCREEN );
+ if (!screen.cx || !screen.cy) /* not supported on NT4 */
+ {
+ screen.cx = GetSystemMetrics( SM_CXSCREEN );
+ screen.cy = GetSystemMetrics( SM_CYSCREEN );
+ }
+ ok_gsm( SM_CXMAXTRACK, screen.cx + 4 + 2 * GetSystemMetrics(SM_CXFRAME));
+ ok_gsm( SM_CYMAXTRACK, screen.cy + 4 + 2 * GetSystemMetrics(SM_CYFRAME));
/* the next two cannot really be tested as they depend on (application)
* toolbars */
/* SM_CXMAXIMIZED */
More information about the wine-cvs
mailing list