123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- /**
- * 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/moin.cgi/SDL_HasClipboardText
- */
- int
- clipboard_testHasClipboardText(void *arg)
- {
- SDL_bool result;
- result = SDL_HasClipboardText();
- SDLTest_AssertPass("Call to SDL_HasClipboardText succeeded");
- return TEST_COMPLETED;
- }
- /**
- * \brief Check call to SDL_GetClipboardText
- *
- * \sa
- * http://wiki.libsdl.org/moin.cgi/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/moin.cgi/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/moin.cgi/SDL_HasClipboardText
- * http://wiki.libsdl.org/moin.cgi/SDL_GetClipboardText
- * http://wiki.libsdl.org/moin.cgi/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
- };
|