|
|
- /**
- * New/updated tests: aschiffler at ferzkopp dot net
- */
-
- #include <stdio.h>
- #include <string.h>
-
- #include "SDL.h"
- #include "SDL_test.h"
-
- /* ================= Test Case Implementation ================== */
-
- /* Test case functions */
-
- /**
- * \brief Check call to SDL_HasClipboardText
- *
- * \sa
- * http://wiki.libsdl.org/SDL_HasClipboardText
- */
- int
- clipboard_testHasClipboardText(void *arg)
- {
- SDL_HasClipboardText();
- SDLTest_AssertPass("Call to SDL_HasClipboardText succeeded");
-
- return TEST_COMPLETED;
- }
-
- /**
- * \brief Check call to SDL_GetClipboardText
- *
- * \sa
- * http://wiki.libsdl.org/SDL_GetClipboardText
- */
- int
- clipboard_testGetClipboardText(void *arg)
- {
- char *charResult;
- charResult = SDL_GetClipboardText();
- SDLTest_AssertPass("Call to SDL_GetClipboardText succeeded");
-
- SDL_free(charResult);
-
- return TEST_COMPLETED;
- }
-
- /**
- * \brief Check call to SDL_SetClipboardText
- * \sa
- * http://wiki.libsdl.org/SDL_SetClipboardText
- */
- int
- clipboard_testSetClipboardText(void *arg)
- {
- char *textRef = SDLTest_RandomAsciiString();
- char *text = SDL_strdup(textRef);
- int result;
- result = SDL_SetClipboardText((const char *)text);
- SDLTest_AssertPass("Call to SDL_SetClipboardText succeeded");
- SDLTest_AssertCheck(
- result == 0,
- "Validate SDL_SetClipboardText result, expected 0, got %i",
- result);
- SDLTest_AssertCheck(
- SDL_strcmp(textRef, text) == 0,
- "Verify SDL_SetClipboardText did not modify input string, expected '%s', got '%s'",
- textRef, text);
-
- /* Cleanup */
- SDL_free(textRef);
- SDL_free(text);
-
- return TEST_COMPLETED;
- }
-
- /**
- * \brief End-to-end test of SDL_xyzClipboardText functions
- * \sa
- * http://wiki.libsdl.org/SDL_HasClipboardText
- * http://wiki.libsdl.org/SDL_GetClipboardText
- * http://wiki.libsdl.org/SDL_SetClipboardText
- */
- int
- clipboard_testClipboardTextFunctions(void *arg)
- {
- char *textRef = SDLTest_RandomAsciiString();
- char *text = SDL_strdup(textRef);
- SDL_bool boolResult;
- int intResult;
- char *charResult;
-
- /* Clear clipboard text state */
- boolResult = SDL_HasClipboardText();
- SDLTest_AssertPass("Call to SDL_HasClipboardText succeeded");
- if (boolResult == SDL_TRUE) {
- intResult = SDL_SetClipboardText((const char *)NULL);
- SDLTest_AssertPass("Call to SDL_SetClipboardText(NULL) succeeded");
- SDLTest_AssertCheck(
- intResult == 0,
- "Verify result from SDL_SetClipboardText(NULL), expected 0, got %i",
- intResult);
- charResult = SDL_GetClipboardText();
- SDLTest_AssertPass("Call to SDL_GetClipboardText succeeded");
- SDL_free(charResult);
- boolResult = SDL_HasClipboardText();
- SDLTest_AssertPass("Call to SDL_HasClipboardText succeeded");
- SDLTest_AssertCheck(
- boolResult == SDL_FALSE,
- "Verify SDL_HasClipboardText returned SDL_FALSE, got %s",
- (boolResult) ? "SDL_TRUE" : "SDL_FALSE");
- }
-
- /* Empty clipboard */
- charResult = SDL_GetClipboardText();
- SDLTest_AssertPass("Call to SDL_GetClipboardText succeeded");
- SDLTest_AssertCheck(
- charResult != NULL,
- "Verify SDL_GetClipboardText did not return NULL");
- SDLTest_AssertCheck(
- charResult[0] == '\0',
- "Verify SDL_GetClipboardText returned string with length 0, got length %i",
- (int) SDL_strlen(charResult));
- intResult = SDL_SetClipboardText((const char *)text);
- SDLTest_AssertPass("Call to SDL_SetClipboardText succeeded");
- SDLTest_AssertCheck(
- intResult == 0,
- "Verify result from SDL_SetClipboardText(NULL), expected 0, got %i",
- intResult);
- SDLTest_AssertCheck(
- SDL_strcmp(textRef, text) == 0,
- "Verify SDL_SetClipboardText did not modify input string, expected '%s', got '%s'",
- textRef, text);
- boolResult = SDL_HasClipboardText();
- SDLTest_AssertPass("Call to SDL_HasClipboardText succeeded");
- SDLTest_AssertCheck(
- boolResult == SDL_TRUE,
- "Verify SDL_HasClipboardText returned SDL_TRUE, got %s",
- (boolResult) ? "SDL_TRUE" : "SDL_FALSE");
- SDL_free(charResult);
- charResult = SDL_GetClipboardText();
- SDLTest_AssertPass("Call to SDL_GetClipboardText succeeded");
- SDLTest_AssertCheck(
- SDL_strcmp(textRef, charResult) == 0,
- "Verify SDL_GetClipboardText returned correct string, expected '%s', got '%s'",
- textRef, charResult);
-
- /* Cleanup */
- SDL_free(textRef);
- SDL_free(text);
- SDL_free(charResult);
-
- return TEST_COMPLETED;
- }
-
-
- /* ================= Test References ================== */
-
- /* Clipboard test cases */
- static const SDLTest_TestCaseReference clipboardTest1 =
- { (SDLTest_TestCaseFp)clipboard_testHasClipboardText, "clipboard_testHasClipboardText", "Check call to SDL_HasClipboardText", TEST_ENABLED };
-
- static const SDLTest_TestCaseReference clipboardTest2 =
- { (SDLTest_TestCaseFp)clipboard_testGetClipboardText, "clipboard_testGetClipboardText", "Check call to SDL_GetClipboardText", TEST_ENABLED };
-
- static const SDLTest_TestCaseReference clipboardTest3 =
- { (SDLTest_TestCaseFp)clipboard_testSetClipboardText, "clipboard_testSetClipboardText", "Check call to SDL_SetClipboardText", TEST_ENABLED };
-
- static const SDLTest_TestCaseReference clipboardTest4 =
- { (SDLTest_TestCaseFp)clipboard_testClipboardTextFunctions, "clipboard_testClipboardTextFunctions", "End-to-end test of SDL_xyzClipboardText functions", TEST_ENABLED };
-
- /* Sequence of Clipboard test cases */
- static const SDLTest_TestCaseReference *clipboardTests[] = {
- &clipboardTest1, &clipboardTest2, &clipboardTest3, &clipboardTest4, NULL
- };
-
- /* Clipboard test suite (global) */
- SDLTest_TestSuiteReference clipboardTestSuite = {
- "Clipboard",
- NULL,
- clipboardTests,
- NULL
- };
|