test/testautomation_video.c
author Andreas Schiffler <aschiffler@ferzkopp.net>
Sun, 06 Jan 2013 15:17:59 -0800
changeset 6800 26c6795ec1a4
child 6891 177f29ae5279
permissions -rw-r--r--
Add new test suites (events, keyboard, syswm, video) with a few new tests each
aschiffler@6800
     1
/**
aschiffler@6800
     2
 * Video test suite
aschiffler@6800
     3
 */
aschiffler@6800
     4
aschiffler@6800
     5
#include <stdio.h>
aschiffler@6800
     6
aschiffler@6800
     7
#include "SDL.h"
aschiffler@6800
     8
#include "SDL_test.h"
aschiffler@6800
     9
aschiffler@6800
    10
/* Test case functions */
aschiffler@6800
    11
aschiffler@6800
    12
/**
aschiffler@6800
    13
 * @brief Enable and disable screensaver while checking state
aschiffler@6800
    14
 */
aschiffler@6800
    15
int
aschiffler@6800
    16
video_enableDisableScreensaver(void *arg)
aschiffler@6800
    17
{
aschiffler@6800
    18
	SDL_bool initialResult;
aschiffler@6800
    19
	SDL_bool result;
aschiffler@6800
    20
aschiffler@6800
    21
	/* Get current state and proceed according to current state */
aschiffler@6800
    22
	initialResult = SDL_IsScreenSaverEnabled();
aschiffler@6800
    23
	SDLTest_AssertPass("Call to SDL_IsScreenSaverEnabled()");	
aschiffler@6800
    24
	if (initialResult == SDL_TRUE) {
aschiffler@6800
    25
	
aschiffler@6800
    26
	  /* Currently enabled: disable first, then enable again */
aschiffler@6800
    27
	  
aschiffler@6800
    28
	  /* Disable screensaver and check */	
aschiffler@6800
    29
	  SDL_DisableScreenSaver();
aschiffler@6800
    30
	  SDLTest_AssertPass("Call to SDL_DisableScreenSaver()");	
aschiffler@6800
    31
	  result = SDL_IsScreenSaverEnabled();
aschiffler@6800
    32
	  SDLTest_AssertPass("Call to SDL_IsScreenSaverEnabled()");
aschiffler@6800
    33
	  SDLTest_AssertCheck(result == SDL_FALSE, "Verify result from SDL_IsScreenSaverEnabled, expected: %i, got: %i", SDL_FALSE, result);
aschiffler@6800
    34
	
aschiffler@6800
    35
	  /* Enable screensaver and check */	
aschiffler@6800
    36
	  SDL_EnableScreenSaver();
aschiffler@6800
    37
	  SDLTest_AssertPass("Call to SDL_EnableScreenSaver()");
aschiffler@6800
    38
	  result = SDL_IsScreenSaverEnabled();
aschiffler@6800
    39
	  SDLTest_AssertPass("Call to SDL_IsScreenSaverEnabled()");
aschiffler@6800
    40
	  SDLTest_AssertCheck(result == SDL_TRUE, "Verify result from SDL_IsScreenSaverEnabled, expected: %i, got: %i", SDL_TRUE, result);
aschiffler@6800
    41
aschiffler@6800
    42
	} else {
aschiffler@6800
    43
aschiffler@6800
    44
	  /* Currently disabled: enable first, then disable again */
aschiffler@6800
    45
	  
aschiffler@6800
    46
	  /* Enable screensaver and check */	
aschiffler@6800
    47
	  SDL_EnableScreenSaver();
aschiffler@6800
    48
	  SDLTest_AssertPass("Call to SDL_EnableScreenSaver()");
aschiffler@6800
    49
	  result = SDL_IsScreenSaverEnabled();
aschiffler@6800
    50
	  SDLTest_AssertPass("Call to SDL_IsScreenSaverEnabled()");
aschiffler@6800
    51
	  SDLTest_AssertCheck(result == SDL_TRUE, "Verify result from SDL_IsScreenSaverEnabled, expected: %i, got: %i", SDL_TRUE, result);
aschiffler@6800
    52
aschiffler@6800
    53
	  /* Disable screensaver and check */	
aschiffler@6800
    54
	  SDL_DisableScreenSaver();
aschiffler@6800
    55
	  SDLTest_AssertPass("Call to SDL_DisableScreenSaver()");	
aschiffler@6800
    56
	  result = SDL_IsScreenSaverEnabled();
aschiffler@6800
    57
	  SDLTest_AssertPass("Call to SDL_IsScreenSaverEnabled()");
aschiffler@6800
    58
	  SDLTest_AssertCheck(result == SDL_FALSE, "Verify result from SDL_IsScreenSaverEnabled, expected: %i, got: %i", SDL_FALSE, result);	
aschiffler@6800
    59
	}	
aschiffler@6800
    60
	
aschiffler@6800
    61
	return TEST_COMPLETED;
aschiffler@6800
    62
}
aschiffler@6800
    63
aschiffler@6800
    64
/* ================= Test References ================== */
aschiffler@6800
    65
aschiffler@6800
    66
/* Video test cases */
aschiffler@6800
    67
static const SDLTest_TestCaseReference videoTest1 =
aschiffler@6800
    68
		{ (SDLTest_TestCaseFp)video_enableDisableScreensaver, "video_enableDisableScreensaver",  "Enable and disable screenaver while checking state", TEST_ENABLED };
aschiffler@6800
    69
aschiffler@6800
    70
/* Sequence of Video test cases */
aschiffler@6800
    71
static const SDLTest_TestCaseReference *videoTests[] =  {
aschiffler@6800
    72
	&videoTest1, NULL
aschiffler@6800
    73
};
aschiffler@6800
    74
aschiffler@6800
    75
/* Video test suite (global) */
aschiffler@6800
    76
SDLTest_TestSuiteReference videoTestSuite = {
aschiffler@6800
    77
	"Video",
aschiffler@6800
    78
	NULL,
aschiffler@6800
    79
	videoTests,
aschiffler@6800
    80
	NULL
aschiffler@6800
    81
};