user32/tests: Avoid a few unneeded test failures in sysparams.c.

This commit is contained in:
Rein Klazes 2009-04-07 18:34:44 +02:00 committed by Alexandre Julliard
parent e7c06ea6ae
commit 89a170ffa1
1 changed files with 27 additions and 11 deletions

View File

@ -156,6 +156,7 @@ static DWORD WINAPI SysParamsThreadFunc( LPVOID lpParam );
static LRESULT CALLBACK SysParamsTestWndProc( HWND hWnd, UINT msg, WPARAM wParam, static LRESULT CALLBACK SysParamsTestWndProc( HWND hWnd, UINT msg, WPARAM wParam,
LPARAM lParam ); LPARAM lParam );
static int change_counter; static int change_counter;
static int change_setworkarea_param, change_iconverticalspacing_param;
static int change_last_param; static int change_last_param;
static int last_bpp; static int last_bpp;
static BOOL displaychange_ok = FALSE, displaychange_test_active = FALSE; static BOOL displaychange_ok = FALSE, displaychange_test_active = FALSE;
@ -176,21 +177,32 @@ static LRESULT CALLBACK SysParamsTestWndProc( HWND hWnd, UINT msg, WPARAM wParam
case WM_SETTINGCHANGE: case WM_SETTINGCHANGE:
if (change_counter>0) { if (change_counter>0) {
/* ignore these messages caused by resizing of toolbars */ /* ignore these messages caused by resizing of toolbars */
if( wParam == SPI_SETWORKAREA || if( wParam == SPI_SETWORKAREA){
wParam == SPI_ICONVERTICALSPACING || change_setworkarea_param = 1;
displaychange_test_active)
break; break;
if( change_last_param == SPI_SETWORKAREA || } else if( wParam == SPI_ICONVERTICALSPACING) {
change_last_param == SPI_ICONVERTICALSPACING) change_iconverticalspacing_param = 1;
{ break;
} else if( displaychange_test_active)
break;
if( !change_last_param){
change_last_param = wParam; change_last_param = wParam;
break; break;
} }
ok(0,"too many changes counter=%d last change=%d\n", ok(0,"too many changes counter=%d last change=%d\n",
change_counter,change_last_param); change_counter,change_last_param);
change_counter++;
change_last_param = wParam;
break;
} }
change_counter++; change_counter++;
change_last_param = wParam; change_last_param = change_setworkarea_param = change_iconverticalspacing_param =0;
if( wParam == SPI_SETWORKAREA)
change_setworkarea_param = 1;
else if( wParam == SPI_ICONVERTICALSPACING)
change_iconverticalspacing_param = 1;
else
change_last_param = wParam;
break; break;
case WM_DESTROY: case WM_DESTROY:
@ -218,7 +230,9 @@ static void test_change_message( int action, int optional )
ok( 1 == change_counter, ok( 1 == change_counter,
"Missed a message: change_counter=%d\n", change_counter ); "Missed a message: change_counter=%d\n", change_counter );
change_counter = 0; change_counter = 0;
ok( action == change_last_param, ok( action == change_last_param ||
( change_setworkarea_param && action == SPI_SETWORKAREA) ||
( change_iconverticalspacing_param && action == SPI_ICONVERTICALSPACING),
"Wrong action got %d expected %d\n", change_last_param, action ); "Wrong action got %d expected %d\n", change_last_param, action );
change_last_param = 0; change_last_param = 0;
} }
@ -1778,20 +1792,22 @@ static void test_SPI_SETWORKAREA( void ) /* 47 */
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); SPIF_UPDATEINIFILE | SPIF_SENDCHANGE );
if (!test_error_msg(rc,"SPI_SETWORKAREA")) return; if (!test_error_msg(rc,"SPI_SETWORKAREA")) return;
ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError());
test_change_message( SPI_SETWORKAREA, 0 );
rc=SystemParametersInfoA( SPI_GETWORKAREA, 0, &area, 0 ); rc=SystemParametersInfoA( SPI_GETWORKAREA, 0, &area, 0 );
ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError());
if( !EqualRect( &area, &curr_val)) /* no message if rect has not changed */
test_change_message( SPI_SETWORKAREA, 0);
eq( area.left, curr_val.left, "left", "%d" ); eq( area.left, curr_val.left, "left", "%d" );
eq( area.top, curr_val.top, "top", "%d" ); eq( area.top, curr_val.top, "top", "%d" );
eq( area.right, curr_val.right, "right", "%d" ); eq( area.right, curr_val.right, "right", "%d" );
eq( area.bottom, curr_val.bottom, "bottom", "%d" ); eq( area.bottom, curr_val.bottom, "bottom", "%d" );
curr_val = area;
rc=SystemParametersInfoA( SPI_SETWORKAREA, 0, &old_area, rc=SystemParametersInfoA( SPI_SETWORKAREA, 0, &old_area,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); SPIF_UPDATEINIFILE | SPIF_SENDCHANGE );
ok(rc!=0,"***warning*** failed to restore the original value: rc=%d err=%d\n",rc,GetLastError()); ok(rc!=0,"***warning*** failed to restore the original value: rc=%d err=%d\n",rc,GetLastError());
test_change_message( SPI_SETWORKAREA, 0 );
rc=SystemParametersInfoA( SPI_GETWORKAREA, 0, &area, 0 ); rc=SystemParametersInfoA( SPI_GETWORKAREA, 0, &area, 0 );
ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError());
if( !EqualRect( &area, &curr_val)) /* no message if rect has not changed */
test_change_message( SPI_SETWORKAREA, 0 );
eq( area.left, old_area.left, "left", "%d" ); eq( area.left, old_area.left, "left", "%d" );
eq( area.top, old_area.top, "top", "%d" ); eq( area.top, old_area.top, "top", "%d" );
eq( area.right, old_area.right, "right", "%d" ); eq( area.right, old_area.right, "right", "%d" );