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