Author: jimtabor Date: Mon Nov 26 05:50:15 2012 New Revision: 57770
URL: http://svn.reactos.org/svn/reactos?rev=57770&view=rev Log: [WineTests] - Sync to 1.5.18
Modified: trunk/rostests/winetests/user32/sysparams.c
Modified: trunk/rostests/winetests/user32/sysparams.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/user32/sysparams... ============================================================================== --- trunk/rostests/winetests/user32/sysparams.c [iso-8859-1] (original) +++ trunk/rostests/winetests/user32/sysparams.c [iso-8859-1] Mon Nov 26 05:50:15 2012 @@ -126,6 +126,9 @@ #define SPI_SETSCREENREADER_VALNAME_LEGACY "Blind Access" #define SPI_SETFONTSMOOTHING_REGKEY "Control Panel\Desktop" #define SPI_SETFONTSMOOTHING_VALNAME "FontSmoothing" +#define SPI_SETFONTSMOOTHINGTYPE_VALNAME "FontSmoothingType" +#define SPI_SETFONTSMOOTHINGCONTRAST_VALNAME "FontSmoothingGamma" +#define SPI_SETFONTSMOOTHINGORIENTATION_VALNAME "FontSmoothingOrientation" #define SPI_SETLOWPOWERACTIVE_REGKEY "Control Panel\Desktop" #define SPI_SETLOWPOWERACTIVE_VALNAME "LowPowerActive" #define SPI_SETPOWEROFFACTIVE_REGKEY "Control Panel\Desktop" @@ -270,13 +273,9 @@ /* * Tests the HKEY_CURRENT_USER subkey value. * The value should contain string value. - * - * Params: - * lpsSubKey - subkey name - * lpsRegName - registry entry name - * lpsTestValue - value to test */ -static void _test_reg_key( LPCSTR subKey1, LPCSTR subKey2, LPCSTR valName1, LPCSTR valName2, LPCSTR testValue, BOOL optional ) +static void _test_reg_key( LPCSTR subKey1, LPCSTR subKey2, LPCSTR valName1, LPCSTR valName2, + const void *exp_value, DWORD exp_type, BOOL optional ) { CHAR value[MAX_PATH]; DWORD valueLen; @@ -292,9 +291,20 @@ RegCloseKey( hKey ); if (rc==ERROR_SUCCESS) { - ok( !strcmp( testValue, value ), - "Wrong value in registry: subKey=%s, valName=%s, testValue=%s, value=%s\n", - subKey1, valName1, testValue, value ); + ok( type == exp_type, "wrong type %u/%u\n", type, exp_type ); + switch (exp_type) + { + case REG_DWORD: + ok( *(DWORD *)value == *(DWORD *)exp_value, + "Wrong value in registry: %s %s %08x/%08x\n", + subKey1, valName1, *(DWORD *)value, *(DWORD *)exp_value ); + break; + case REG_SZ: + ok( !strcmp( exp_value, value ), + "Wrong value in registry: %s %s '%s' instead of '%s'\n", + subKey1, valName1, value, (const char *)exp_value ); + break; + } found++; } else if (strict) @@ -311,9 +321,20 @@ RegCloseKey( hKey ); if (rc==ERROR_SUCCESS) { - ok( !strcmp( testValue, value ), - "Wrong value in registry: subKey=%s, valName=%s, testValue=%s, value=%s\n", - subKey1, valName2, testValue, value ); + ok( type == exp_type, "wrong type %u/%u\n", type, exp_type ); + switch (exp_type) + { + case REG_DWORD: + ok( *(DWORD *)value == *(DWORD *)exp_value, + "Wrong value in registry: %s %s %08x/%08x\n", + subKey1, valName1, *(DWORD *)value, *(DWORD *)exp_value ); + break; + case REG_SZ: + ok( !strcmp( exp_value, value ), + "Wrong value in registry: %s %s '%s' instead of '%s'\n", + subKey1, valName1, value, (const char *)exp_value ); + break; + } found++; } else if (strict) @@ -331,9 +352,20 @@ RegCloseKey( hKey ); if (rc==ERROR_SUCCESS) { - ok( !strcmp( testValue, value ), - "Wrong value in registry: subKey=%s, valName=%s, testValue=%s, value=%s\n", - subKey2, valName1, testValue, value ); + ok( type == exp_type, "wrong type %u/%u\n", type, exp_type ); + switch (exp_type) + { + case REG_DWORD: + ok( *(DWORD *)value == *(DWORD *)exp_value, + "Wrong value in registry: %s %s %08x/%08x\n", + subKey1, valName1, *(DWORD *)value, *(DWORD *)exp_value ); + break; + case REG_SZ: + ok( !strcmp( exp_value, value ), + "Wrong value in registry: %s %s '%s' instead of '%s'\n", + subKey1, valName1, value, (const char *)exp_value ); + break; + } found++; } else if (strict) @@ -350,9 +382,20 @@ RegCloseKey( hKey ); if (rc==ERROR_SUCCESS) { - ok( !strcmp( testValue, value ), - "Wrong value in registry: subKey=%s, valName=%s, testValue=%s, value=%s\n", - subKey2, valName2, testValue, value ); + ok( type == exp_type, "wrong type %u/%u\n", type, exp_type ); + switch (exp_type) + { + case REG_DWORD: + ok( *(DWORD *)value == *(DWORD *)exp_value, + "Wrong value in registry: %s %s %08x/%08x\n", + subKey1, valName1, *(DWORD *)value, *(DWORD *)exp_value ); + break; + case REG_SZ: + ok( !strcmp( exp_value, value ), + "Wrong value in registry: %s %s '%s' instead of '%s'\n", + subKey1, valName1, value, (const char *)exp_value ); + break; + } found++; } else if (strict) @@ -368,15 +411,17 @@ }
#define test_reg_key( subKey, valName, testValue ) \ - _test_reg_key( subKey, NULL, valName, NULL, testValue, FALSE ) + _test_reg_key( subKey, NULL, valName, NULL, testValue, REG_SZ, FALSE ) #define test_reg_key_optional( subKey, valName, testValue ) \ - _test_reg_key( subKey, NULL, valName, NULL, testValue, TRUE ) + _test_reg_key( subKey, NULL, valName, NULL, testValue, REG_SZ, TRUE ) #define test_reg_key_ex( subKey1, subKey2, valName, testValue ) \ - _test_reg_key( subKey1, subKey2, valName, NULL, testValue, FALSE ) + _test_reg_key( subKey1, subKey2, valName, NULL, testValue, REG_SZ, FALSE ) #define test_reg_key_ex2( subKey1, subKey2, valName1, valName2, testValue ) \ - _test_reg_key( subKey1, subKey2, valName1, valName2, testValue, FALSE ) + _test_reg_key( subKey1, subKey2, valName1, valName2, testValue, REG_SZ, FALSE ) #define test_reg_key_ex2_optional( subKey1, subKey2, valName1, valName2, testValue ) \ - _test_reg_key( subKey1, subKey2, valName1, valName2, testValue, TRUE ) + _test_reg_key( subKey1, subKey2, valName1, valName2, testValue, REG_SZ, TRUE ) +#define test_reg_key_dword( subKey, valName, testValue ) \ + _test_reg_key( subKey, NULL, valName, NULL, testValue, REG_DWORD, FALSE )
/* get a metric from the registry. If the value is negative * it is assumed to be in twips and converted to pixels */ @@ -1942,6 +1987,7 @@ { BOOL rc; BOOL old_b; + DWORD old_type, old_contrast, old_orient; const UINT vals[]={0xffffffff,0,1,2}; unsigned int i;
@@ -1951,6 +1997,9 @@ rc=SystemParametersInfoA( SPI_GETFONTSMOOTHING, 0, &old_b, 0 ); if (!test_error_msg(rc,"SPI_{GET,SET}FONTSMOOTHING")) return; + SystemParametersInfoA( SPI_GETFONTSMOOTHINGTYPE, 0, &old_type, 0 ); + SystemParametersInfoA( SPI_GETFONTSMOOTHINGCONTRAST, 0, &old_contrast, 0 ); + SystemParametersInfoA( SPI_GETFONTSMOOTHINGORIENTATION, 0, &old_orient, 0 );
for (i=0;i<sizeof(vals)/sizeof(*vals);i++) { @@ -1965,12 +2014,54 @@ SPI_SETFONTSMOOTHING_VALNAME, vals[i] ? "2" : "0" );
+ rc=SystemParametersInfoA( SPI_SETFONTSMOOTHINGTYPE, 0, UlongToPtr(vals[i]), + SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETFONTSMOOTHINGTYPE")) return; + ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); + test_change_message( SPI_SETFONTSMOOTHINGTYPE, 0 ); + test_reg_key_dword( SPI_SETFONTSMOOTHING_REGKEY, + SPI_SETFONTSMOOTHINGTYPE_VALNAME, &vals[i] ); + + rc=SystemParametersInfoA( SPI_SETFONTSMOOTHINGCONTRAST, 0, UlongToPtr(vals[i]), + SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETFONTSMOOTHINGCONTRAST")) return; + ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); + test_change_message( SPI_SETFONTSMOOTHINGCONTRAST, 0 ); + test_reg_key_dword( SPI_SETFONTSMOOTHING_REGKEY, + SPI_SETFONTSMOOTHINGCONTRAST_VALNAME, &vals[i] ); + + rc=SystemParametersInfoA( SPI_SETFONTSMOOTHINGORIENTATION, 0, UlongToPtr(vals[i]), + SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETFONTSMOOTHINGORIENTATION")) return; + ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); + test_change_message( SPI_SETFONTSMOOTHINGORIENTATION, 0 ); + test_reg_key_dword( SPI_SETFONTSMOOTHING_REGKEY, + SPI_SETFONTSMOOTHINGORIENTATION_VALNAME, &vals[i] ); + rc=SystemParametersInfoA( SPI_GETFONTSMOOTHING, 0, &v, 0 ); ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); eq( v, vals[i] ? 1 : 0, "SPI_GETFONTSMOOTHING", "%d" ); + + rc=SystemParametersInfoA( SPI_GETFONTSMOOTHINGTYPE, 0, &v, 0 ); + ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); + ok( v == vals[i], "wrong value %x/%x\n", v, vals[i] ); + + rc=SystemParametersInfoA( SPI_GETFONTSMOOTHINGCONTRAST, 0, &v, 0 ); + ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); + ok( v == vals[i], "wrong value %x/%x\n", v, vals[i] ); + + rc=SystemParametersInfoA( SPI_GETFONTSMOOTHINGORIENTATION, 0, &v, 0 ); + ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); + ok( v == vals[i], "wrong value %x/%x\n", v, vals[i] ); }
rc=SystemParametersInfoA( SPI_SETFONTSMOOTHING, old_b, 0, SPIF_UPDATEINIFILE ); + ok(rc!=0,"***warning*** failed to restore the original value: rc=%d err=%d\n",rc,GetLastError()); + rc=SystemParametersInfoA( SPI_SETFONTSMOOTHINGTYPE, old_type, 0, SPIF_UPDATEINIFILE ); + ok(rc!=0,"***warning*** failed to restore the original value: rc=%d err=%d\n",rc,GetLastError()); + rc=SystemParametersInfoA( SPI_SETFONTSMOOTHINGCONTRAST, old_contrast, 0, SPIF_UPDATEINIFILE ); + ok(rc!=0,"***warning*** failed to restore the original value: rc=%d err=%d\n",rc,GetLastError()); + rc=SystemParametersInfoA( SPI_SETFONTSMOOTHINGORIENTATION, old_orient, 0, SPIF_UPDATEINIFILE ); ok(rc!=0,"***warning*** failed to restore the original value: rc=%d err=%d\n",rc,GetLastError()); }