diff --git a/test/test-automation/tests/testrender/testrender.c b/test/test-automation/tests/testrender/testrender.c index d20a26cb7..f5f896e0d 100644 --- a/test/test-automation/tests/testrender/testrender.c +++ b/test/test-automation/tests/testrender/testrender.c @@ -18,22 +18,76 @@ /* Test cases */ static const TestCaseReference test1 = - (TestCaseReference){ "render_test", "rendery", TEST_ENABLED, 0, 0 }; + (TestCaseReference){ "render_testGetNumRenderDrivers", "Tests call to SDL_GetNumRenderDrivers", TEST_ENABLED, 0, 0 }; + +static const TestCaseReference test2 = + (TestCaseReference){ "render_testCreateRenderer", "Tests SDL_CreateRenderer", TEST_ENABLED, 0, 0 }; /* Test suite */ extern const TestCaseReference *testSuite[] = { - &test1, NULL + &test1, &test2, NULL }; TestCaseReference **QueryTestSuite() { return (TestCaseReference **)testSuite; } +// Fixture + +void +SetUp(void *arg) +{ + /* Start SDL. */ + int ret = SDL_Init( SDL_INIT_VIDEO ); + AssertTrue(ret==0, "SDL_Init(SDL_INIT_VIDEO): %s", SDL_GetError()); +} + +void +TearDown(void *arg) +{ + /* Quit SDL. */ + SDL_Quit(); +} + /** - * @brief Document test case here + * @brief Tests call to SDL_GetNumRenderDrivers + * \sa + * http://wiki.libsdl.org/moin.cgi/SDL_GetNumRenderDrivers */ int -render_test(void *arg) +render_testGetNumRenderDrivers(void *arg) { - AssertPass(""); + int n; + n = SDL_GetNumRenderDrivers(); + AssertTrue(n>=1, "Number of renderers >= 1, reported as %i", n); + if (n<0) { + AssertFail("SDL_GetNumRenderDrivers() failed: %s", SDL_GetError()); + } +} + +/** + * @brief Tests call to SDL_CreateRenderer + * \sa + * http://wiki.libsdl.org/moin.cgi/SDL_CreateRenderer + */ +int +render_testCreateRenderer(void *arg) +{ + SDL_Window *window = NULL; + SDL_Renderer *renderer = NULL; + int posX = 100, posY = 100, width = 320, height = 240; + window = SDL_CreateWindow("Hello World", posX, posY, width, height, 0); + if (window != NULL) { + AssertPass("Window created"); + renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_SOFTWARE); + if (renderer) { + AssertPass("Renderer created"); + SDL_DestroyRenderer(renderer); + } else { + AssertFail("Could not create renderer: %s", SDL_GetError()); + } + SDL_DestroyWindow(window); + } else { + AssertFail("Could not create window: %s", SDL_GetError()); + } }