18assert_escape(
const char *str,
const char *reference,
23 assert_string_equal(buf, reference);
28null_empty(
void **state)
40invalid_type(
void **state)
46 assert_escape(
"",
"",
type);
53escape_unchanged(
void **state)
56 const char *unchanged =
"abcdefghijklmnopqrstuvwxyz"
57 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
59 "`~!@#$%^*()-_=+/|\\[]{}?.,'";
69escape_left_angle(
void **state)
71 const char *l_angle =
"<abc<def<";
81escape_right_angle(
void **state)
83 const char *r_angle =
">abc>def>";
93escape_ampersand(
void **state)
95 const char *ampersand =
"&abc&def&";
105escape_double_quote(
void **state)
107 const char *double_quote =
"\"abc\"def\"";
111 const char *double_quote_esc_backslash =
"\\\"abc\\\"def\\\"";
115 assert_escape(double_quote, double_quote_esc_backslash,
120escape_newline(
void **state)
122 const char *newline =
"\nabc\ndef\n";
123 const char *newline_esc_ref =
"
abc
def
";
124 const char *newline_esc_backslash =
"\\nabc\\ndef\\n";
132escape_tab(
void **state)
134 const char *tab =
"\tabc\tdef\t";
135 const char *tab_esc_ref =
"	abc	def	";
136 const char *tab_esc_backslash =
"\\tabc\\tdef\\t";
144escape_carriage_return(
void **state)
146 const char *cr =
"\rabc\rdef\r";
147 const char *cr_esc_ref =
"
abc
def
";
148 const char *cr_esc_backslash =
"\\rabc\\rdef\\r";
156escape_nonprinting(
void **state)
158 const char *nonprinting =
"\a\x7F\x1B";
159 const char *nonprinting_esc =
"";
167escape_utf8(
void **state)
172 const char *chinese =
"仅高级使用";
173 const char *two_byte =
"abc""\xCF\xA6""d<ef";
176 const char *three_byte =
"abc""\xEF\x98\x98""d<ef";
177 const char *three_byte_esc =
"abc""\xEF\x98\x98""d"
180 const char *four_byte =
"abc""\xF0\x94\x81\x90""d<ef";
181 const char *four_byte_esc =
"abc""\xF0\x94\x81\x90""d"
202 cmocka_unit_test(null_empty),
203 cmocka_unit_test(invalid_type),
204 cmocka_unit_test(escape_unchanged),
205 cmocka_unit_test(escape_left_angle),
206 cmocka_unit_test(escape_right_angle),
207 cmocka_unit_test(escape_ampersand),
208 cmocka_unit_test(escape_double_quote),
209 cmocka_unit_test(escape_newline),
210 cmocka_unit_test(escape_tab),
211 cmocka_unit_test(escape_carriage_return),
212 cmocka_unit_test(escape_nonprinting),
213 cmocka_unit_test(escape_utf8));
enum pcmk_ipc_server type
#define PCMK__XML_ENTITY_QUOT
#define PCMK__XML_ENTITY_GT
#define PCMK__XML_ENTITY_AMP
#define PCMK__XML_ENTITY_LT
#define pcmk__assert_asserts(stmt)
int pcmk__xml_test_teardown_group(void **state)
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)
int pcmk__xml_test_setup_group(void **state)
@ pcmk__xml_escape_attr_pretty
char * pcmk__xml_escape(const char *text, enum pcmk__xml_escape_type type)