SDL
2.0
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
testautomation_clipboard.c
Go to the documentation of this file.
1
/**
2
* New/updated tests: aschiffler at ferzkopp dot net
3
*/
4
5
#include <stdio.h>
6
#include <string.h>
7
8
#include "
SDL.h
"
9
#include "
SDL_test.h
"
10
11
/* ================= Test Case Implementation ================== */
12
13
/* Test case functions */
14
15
/**
16
* \brief Check call to SDL_HasClipboardText
17
*
18
* \sa
19
* http://wiki.libsdl.org/moin.cgi/SDL_HasClipboardText
20
*/
21
int
22
clipboard_testHasClipboardText
(
void
*arg)
23
{
24
SDL_bool
result
;
25
result =
SDL_HasClipboardText
();
26
SDLTest_AssertPass
(
"Call to SDL_HasClipboardText succeeded"
);
27
28
return
TEST_COMPLETED
;
29
}
30
31
/**
32
* \brief Check call to SDL_GetClipboardText
33
*
34
* \sa
35
* http://wiki.libsdl.org/moin.cgi/SDL_GetClipboardText
36
*/
37
int
38
clipboard_testGetClipboardText
(
void
*arg)
39
{
40
char
*charResult;
41
charResult =
SDL_GetClipboardText
();
42
SDLTest_AssertPass
(
"Call to SDL_GetClipboardText succeeded"
);
43
44
SDL_free
(charResult);
45
46
return
TEST_COMPLETED
;
47
}
48
49
/**
50
* \brief Check call to SDL_SetClipboardText
51
* \sa
52
* http://wiki.libsdl.org/moin.cgi/SDL_SetClipboardText
53
*/
54
int
55
clipboard_testSetClipboardText
(
void
*arg)
56
{
57
char
*textRef =
SDLTest_RandomAsciiString
();
58
char
*
text
=
SDL_strdup
(textRef);
59
int
result
;
60
result =
SDL_SetClipboardText
((
const
char
*)text);
61
SDLTest_AssertPass
(
"Call to SDL_SetClipboardText succeeded"
);
62
SDLTest_AssertCheck
(
63
result == 0,
64
"Validate SDL_SetClipboardText result, expected 0, got %i"
,
65
result);
66
SDLTest_AssertCheck
(
67
SDL_strcmp
(textRef, text) == 0,
68
"Verify SDL_SetClipboardText did not modify input string, expected '%s', got '%s'"
,
69
textRef, text);
70
71
/* Cleanup */
72
SDL_free
(textRef);
73
SDL_free
(text);
74
75
return
TEST_COMPLETED
;
76
}
77
78
/**
79
* \brief End-to-end test of SDL_xyzClipboardText functions
80
* \sa
81
* http://wiki.libsdl.org/moin.cgi/SDL_HasClipboardText
82
* http://wiki.libsdl.org/moin.cgi/SDL_GetClipboardText
83
* http://wiki.libsdl.org/moin.cgi/SDL_SetClipboardText
84
*/
85
int
86
clipboard_testClipboardTextFunctions
(
void
*arg)
87
{
88
char
*textRef =
SDLTest_RandomAsciiString
();
89
char
*
text
=
SDL_strdup
(textRef);
90
SDL_bool
boolResult;
91
int
intResult;
92
char
*charResult;
93
94
/* Clear clipboard text state */
95
boolResult =
SDL_HasClipboardText
();
96
SDLTest_AssertPass
(
"Call to SDL_HasClipboardText succeeded"
);
97
if
(boolResult ==
SDL_TRUE
) {
98
intResult =
SDL_SetClipboardText
((
const
char
*)
NULL
);
99
SDLTest_AssertPass
(
"Call to SDL_SetClipboardText(NULL) succeeded"
);
100
SDLTest_AssertCheck
(
101
intResult == 0,
102
"Verify result from SDL_SetClipboardText(NULL), expected 0, got %i"
,
103
intResult);
104
charResult =
SDL_GetClipboardText
();
105
SDLTest_AssertPass
(
"Call to SDL_GetClipboardText succeeded"
);
106
SDL_free
(charResult);
107
boolResult =
SDL_HasClipboardText
();
108
SDLTest_AssertPass
(
"Call to SDL_HasClipboardText succeeded"
);
109
SDLTest_AssertCheck
(
110
boolResult ==
SDL_FALSE
,
111
"Verify SDL_HasClipboardText returned SDL_FALSE, got %s"
,
112
(boolResult) ?
"SDL_TRUE"
:
"SDL_FALSE"
);
113
}
114
115
/* Empty clipboard */
116
charResult =
SDL_GetClipboardText
();
117
SDLTest_AssertPass
(
"Call to SDL_GetClipboardText succeeded"
);
118
SDLTest_AssertCheck
(
119
charResult !=
NULL
,
120
"Verify SDL_GetClipboardText did not return NULL"
);
121
SDLTest_AssertCheck
(
122
charResult[0] ==
'\0'
,
123
"Verify SDL_GetClipboardText returned string with length 0, got length %i"
,
124
(
int
)
SDL_strlen
(charResult));
125
intResult =
SDL_SetClipboardText
((
const
char
*)text);
126
SDLTest_AssertPass
(
"Call to SDL_SetClipboardText succeeded"
);
127
SDLTest_AssertCheck
(
128
intResult == 0,
129
"Verify result from SDL_SetClipboardText(NULL), expected 0, got %i"
,
130
intResult);
131
SDLTest_AssertCheck
(
132
SDL_strcmp
(textRef, text) == 0,
133
"Verify SDL_SetClipboardText did not modify input string, expected '%s', got '%s'"
,
134
textRef, text);
135
boolResult =
SDL_HasClipboardText
();
136
SDLTest_AssertPass
(
"Call to SDL_HasClipboardText succeeded"
);
137
SDLTest_AssertCheck
(
138
boolResult ==
SDL_TRUE
,
139
"Verify SDL_HasClipboardText returned SDL_TRUE, got %s"
,
140
(boolResult) ?
"SDL_TRUE"
:
"SDL_FALSE"
);
141
SDL_free
(charResult);
142
charResult =
SDL_GetClipboardText
();
143
SDLTest_AssertPass
(
"Call to SDL_GetClipboardText succeeded"
);
144
SDLTest_AssertCheck
(
145
SDL_strcmp
(textRef, charResult) == 0,
146
"Verify SDL_GetClipboardText returned correct string, expected '%s', got '%s'"
,
147
textRef, charResult);
148
149
/* Cleanup */
150
SDL_free
(textRef);
151
SDL_free
(text);
152
SDL_free
(charResult);
153
154
return
TEST_COMPLETED
;
155
}
156
157
158
/* ================= Test References ================== */
159
160
/* Clipboard test cases */
161
static
const
SDLTest_TestCaseReference
clipboardTest1
=
162
{ (
SDLTest_TestCaseFp
)
clipboard_testHasClipboardText
,
"clipboard_testHasClipboardText"
,
"Check call to SDL_HasClipboardText"
,
TEST_ENABLED
};
163
164
static
const
SDLTest_TestCaseReference
clipboardTest2
=
165
{ (
SDLTest_TestCaseFp
)
clipboard_testGetClipboardText
,
"clipboard_testGetClipboardText"
,
"Check call to SDL_GetClipboardText"
,
TEST_ENABLED
};
166
167
static
const
SDLTest_TestCaseReference
clipboardTest3
=
168
{ (
SDLTest_TestCaseFp
)
clipboard_testSetClipboardText
,
"clipboard_testSetClipboardText"
,
"Check call to SDL_SetClipboardText"
,
TEST_ENABLED
};
169
170
static
const
SDLTest_TestCaseReference
clipboardTest4
=
171
{ (
SDLTest_TestCaseFp
)
clipboard_testClipboardTextFunctions
,
"clipboard_testClipboardTextFunctions"
,
"End-to-end test of SDL_xyzClipboardText functions"
,
TEST_ENABLED
};
172
173
/* Sequence of Clipboard test cases */
174
static
const
SDLTest_TestCaseReference
*
clipboardTests
[] = {
175
&
clipboardTest1
, &
clipboardTest2
, &
clipboardTest3
, &
clipboardTest4
,
NULL
176
};
177
178
/* Clipboard test suite (global) */
179
SDLTest_TestSuiteReference
clipboardTestSuite
= {
180
"Clipboard"
,
181
NULL
,
182
clipboardTests
,
183
NULL
184
};
test
testautomation_clipboard.c
Generated on Sun Jun 26 2022 23:07:19 for SDL by
1.8.1.2