comparison libpurple/tests/test_util.c @ 27590:a08e84032814

merge of '2348ff22f0ff3453774b8b25b36238465580c609' and 'e76f11543c2a4aa05bdf584f087cbe3439029661'
author Paul Aurich <paul@darkrain42.org>
date Sun, 12 Jul 2009 05:43:38 +0000
parents 8c41a23e6b44
children 68bc7c617fa0
comparison
equal deleted inserted replaced
27104:048bcf41deef 27590:a08e84032814
12 START_TEST(test_util_base16_decode) 12 START_TEST(test_util_base16_decode)
13 { 13 {
14 gsize sz = 0; 14 gsize sz = 0;
15 guchar *out = purple_base16_decode("21646c726f77202c6f6c6c656800", &sz); 15 guchar *out = purple_base16_decode("21646c726f77202c6f6c6c656800", &sz);
16 fail_unless(sz == 14, NULL); 16 fail_unless(sz == 14, NULL);
17 fail_unless(strcmp("!dlrow ,olleh", (const char *)out) == 0, NULL); 17 assert_string_equal_free("!dlrow ,olleh", (char *)out);
18 g_free(out);
19 } 18 }
20 END_TEST 19 END_TEST
21 20
22 START_TEST(test_util_base64_encode) 21 START_TEST(test_util_base64_encode)
23 { 22 {
28 START_TEST(test_util_base64_decode) 27 START_TEST(test_util_base64_decode)
29 { 28 {
30 gsize sz; 29 gsize sz;
31 guchar *out = purple_base64_decode("b3d0LXl0cm9mAA==", &sz); 30 guchar *out = purple_base64_decode("b3d0LXl0cm9mAA==", &sz);
32 fail_unless(sz == 10, NULL); 31 fail_unless(sz == 10, NULL);
33 fail_unless(strcmp("owt-ytrof", (const char *)out) == 0, NULL); 32 assert_string_equal_free("owt-ytrof", (char *)out);
34 g_free(out);
35 } 33 }
36 END_TEST 34 END_TEST
37 35
38 START_TEST(test_util_escape_filename) 36 START_TEST(test_util_escape_filename)
39 { 37 {
80 fail_if(purple_email_is_valid("")); 78 fail_if(purple_email_is_valid(""));
81 fail_if(purple_email_is_valid("totally bogus")); 79 fail_if(purple_email_is_valid("totally bogus"));
82 } 80 }
83 END_TEST 81 END_TEST
84 82
83 START_TEST(test_util_ipv6_is_valid)
84 {
85 fail_unless(purple_ipv6_address_is_valid("2001:0db8:85a3:0000:0000:8a2e:0370:7334"));
86 fail_unless(purple_ipv6_address_is_valid("2001:db8:85a3:0:0:8a2e:370:7334"));
87 fail_unless(purple_ipv6_address_is_valid("2001:db8:85a3::8a2e:370:7334"));
88 fail_unless(purple_ipv6_address_is_valid("2001:0db8:0:0::1428:57ab"));
89 fail_unless(purple_ipv6_address_is_valid("::1"));
90 fail_unless(purple_ipv6_address_is_valid("1::"));
91 fail_unless(purple_ipv6_address_is_valid("1::1"));
92 fail_unless(purple_ipv6_address_is_valid("::"));
93 fail_if(purple_ipv6_address_is_valid(""));
94 fail_if(purple_ipv6_address_is_valid(":"));
95 fail_if(purple_ipv6_address_is_valid("1.2.3.4"));
96 fail_if(purple_ipv6_address_is_valid("2001::FFD3::57ab"));
97 fail_if(purple_ipv6_address_is_valid("200000000::1"));
98 fail_if(purple_ipv6_address_is_valid("QWERTY::1"));
99 }
100 END_TEST
101
85 START_TEST(test_util_str_to_time) 102 START_TEST(test_util_str_to_time)
86 { 103 {
87 fail_unless(377182200 == purple_str_to_time("19811214T12:50:00", TRUE, NULL, NULL, NULL)); 104 fail_unless(377182200 == purple_str_to_time("19811214T12:50:00", TRUE, NULL, NULL, NULL));
88 fail_unless(1175919261 == purple_str_to_time("20070407T04:14:21", TRUE, NULL, NULL, NULL)); 105 fail_unless(1175919261 == purple_str_to_time("20070407T04:14:21", TRUE, NULL, NULL, NULL));
89 } 106 }
92 START_TEST(test_markup_html_to_xhtml) 109 START_TEST(test_markup_html_to_xhtml)
93 { 110 {
94 gchar *xhtml = NULL; 111 gchar *xhtml = NULL;
95 gchar *plaintext = NULL; 112 gchar *plaintext = NULL;
96 purple_markup_html_to_xhtml("<a>", &xhtml, &plaintext); 113 purple_markup_html_to_xhtml("<a>", &xhtml, &plaintext);
97 fail_unless(strcmp("<a href=''></a>", xhtml) == 0, NULL); 114 assert_string_equal_free("<a href=\"\"></a>", xhtml);
98 g_free(xhtml); 115 assert_string_equal_free("", plaintext);
99 fail_unless(strcmp("", plaintext) == 0, NULL); 116 }
100 g_free(plaintext); 117 END_TEST
118
119 START_TEST(test_mime_decode_field)
120 {
121 gchar *result = purple_mime_decode_field("=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?=");
122 assert_string_equal_free("Keld Jørn Simonsen", result);
101 } 123 }
102 END_TEST 124 END_TEST
103 125
104 Suite * 126 Suite *
105 util_suite(void) 127 util_suite(void)
127 149
128 tc = tcase_create("Email"); 150 tc = tcase_create("Email");
129 tcase_add_test(tc, test_util_email_is_valid); 151 tcase_add_test(tc, test_util_email_is_valid);
130 suite_add_tcase(s, tc); 152 suite_add_tcase(s, tc);
131 153
154 tc = tcase_create("IPv6");
155 tcase_add_test(tc, test_util_ipv6_is_valid);
156 suite_add_tcase(s, tc);
157
132 tc = tcase_create("Time"); 158 tc = tcase_create("Time");
133 tcase_add_test(tc, test_util_str_to_time); 159 tcase_add_test(tc, test_util_str_to_time);
134 suite_add_tcase(s, tc); 160 suite_add_tcase(s, tc);
135 161
136 tc = tcase_create("Markup"); 162 tc = tcase_create("Markup");
137 tcase_add_test(tc, test_markup_html_to_xhtml); 163 tcase_add_test(tc, test_markup_html_to_xhtml);
138 suite_add_tcase(s, tc); 164 suite_add_tcase(s, tc);
139 165
166 tc = tcase_create("MIME");
167 tcase_add_test(tc, test_mime_decode_field);
168 suite_add_tcase(s, tc);
169
140 return s; 170 return s;
141 } 171 }