Mercurial > pidgin
annotate libpurple/tests/test_util.c @ 29979:88a4a5a0fafa
Add new generated stuff to .mtn-ignore
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Wed, 19 May 2010 03:58:59 +0000 |
parents | 702ea988070c |
children | d93865ec84d9 |
rev | line source |
---|---|
15888
6577b292e7b4
Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <stu@nosnilmot.com>
parents:
15822
diff
changeset
|
1 #include <string.h> |
6577b292e7b4
Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <stu@nosnilmot.com>
parents:
15822
diff
changeset
|
2 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3 #include "tests.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4 #include "../util.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
6 START_TEST(test_util_base16_encode) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
7 { |
26219
ba1799f21383
Cast away a few compile warnings in our "make check" tests, and add
Mark Doliner <mark@kingant.net>
parents:
22199
diff
changeset
|
8 assert_string_equal_free("68656c6c6f2c20776f726c642100", purple_base16_encode((const unsigned char *)"hello, world!", 14)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
9 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
10 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
11 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
12 START_TEST(test_util_base16_decode) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
13 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
14 gsize sz = 0; |
15822 | 15 guchar *out = purple_base16_decode("21646c726f77202c6f6c6c656800", &sz); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
16 fail_unless(sz == 14, NULL); |
27450
7bdad85c5fed
Use assert_string_equal_free() instead of just assert_string_equal()
Mark Doliner <mark@kingant.net>
parents:
27248
diff
changeset
|
17 assert_string_equal_free("!dlrow ,olleh", (char *)out); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
18 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
19 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
20 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
21 START_TEST(test_util_base64_encode) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
22 { |
26219
ba1799f21383
Cast away a few compile warnings in our "make check" tests, and add
Mark Doliner <mark@kingant.net>
parents:
22199
diff
changeset
|
23 assert_string_equal_free("Zm9ydHktdHdvAA==", purple_base64_encode((const unsigned char *)"forty-two", 10)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
24 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
25 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
26 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
27 START_TEST(test_util_base64_decode) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
28 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
29 gsize sz; |
15822 | 30 guchar *out = purple_base64_decode("b3d0LXl0cm9mAA==", &sz); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 fail_unless(sz == 10, NULL); |
27450
7bdad85c5fed
Use assert_string_equal_free() instead of just assert_string_equal()
Mark Doliner <mark@kingant.net>
parents:
27248
diff
changeset
|
32 assert_string_equal_free("owt-ytrof", (char *)out); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
33 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
34 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
35 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
36 START_TEST(test_util_escape_filename) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
37 { |
15822 | 38 assert_string_equal("foo", purple_escape_filename("foo")); |
39 assert_string_equal("@oo", purple_escape_filename("@oo")); | |
40 assert_string_equal("#oo", purple_escape_filename("#oo")); | |
41 assert_string_equal("-oo", purple_escape_filename("-oo")); | |
42 assert_string_equal("_oo", purple_escape_filename("_oo")); | |
43 assert_string_equal(".oo", purple_escape_filename(".oo")); | |
44 assert_string_equal("%25oo", purple_escape_filename("%oo")); | |
45 assert_string_equal("%21oo", purple_escape_filename("!oo")); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
46 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
47 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
48 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
49 START_TEST(test_util_unescape_filename) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
50 { |
15822 | 51 assert_string_equal("bar", purple_unescape_filename("bar")); |
52 assert_string_equal("@ar", purple_unescape_filename("@ar")); | |
53 assert_string_equal("!ar", purple_unescape_filename("!ar")); | |
54 assert_string_equal("!ar", purple_unescape_filename("%21ar")); | |
55 assert_string_equal("%ar", purple_unescape_filename("%25ar")); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
56 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
57 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
58 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
59 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
60 START_TEST(test_util_text_strip_mnemonic) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
61 { |
15822 | 62 assert_string_equal_free("", purple_text_strip_mnemonic("")); |
63 assert_string_equal_free("foo", purple_text_strip_mnemonic("foo")); | |
64 assert_string_equal_free("foo", purple_text_strip_mnemonic("_foo")); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
65 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
66 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
67 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
68 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
69 START_TEST(test_util_email_is_valid) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
70 { |
15822 | 71 fail_unless(purple_email_is_valid("purple-devel@lists.sf.net")); |
22197
a67c0aa4db9c
Add a few tets to make sure we're catching some invalid email formats
Mark Doliner <mark@kingant.net>
parents:
21612
diff
changeset
|
72 fail_if(purple_email_is_valid("purple-devel@@lists.sf.net")); |
a67c0aa4db9c
Add a few tets to make sure we're catching some invalid email formats
Mark Doliner <mark@kingant.net>
parents:
21612
diff
changeset
|
73 fail_if(purple_email_is_valid("purple@devel@lists.sf.net")); |
a67c0aa4db9c
Add a few tets to make sure we're catching some invalid email formats
Mark Doliner <mark@kingant.net>
parents:
21612
diff
changeset
|
74 fail_if(purple_email_is_valid("purple-devel@list..sf.net")); |
a67c0aa4db9c
Add a few tets to make sure we're catching some invalid email formats
Mark Doliner <mark@kingant.net>
parents:
21612
diff
changeset
|
75 fail_if(purple_email_is_valid("purple-devel")); |
22199
5aacf801f6b6
One more test. This is actually the one I cared about. It passes,
Mark Doliner <mark@kingant.net>
parents:
22197
diff
changeset
|
76 fail_if(purple_email_is_valid("purple-devel@")); |
22197
a67c0aa4db9c
Add a few tets to make sure we're catching some invalid email formats
Mark Doliner <mark@kingant.net>
parents:
21612
diff
changeset
|
77 fail_if(purple_email_is_valid("@lists.sf.net")); |
a67c0aa4db9c
Add a few tets to make sure we're catching some invalid email formats
Mark Doliner <mark@kingant.net>
parents:
21612
diff
changeset
|
78 fail_if(purple_email_is_valid("")); |
a67c0aa4db9c
Add a few tets to make sure we're catching some invalid email formats
Mark Doliner <mark@kingant.net>
parents:
21612
diff
changeset
|
79 fail_if(purple_email_is_valid("totally bogus")); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
80 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
81 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
82 |
27469
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
83 START_TEST(test_util_ipv6_is_valid) |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
84 { |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
85 fail_unless(purple_ipv6_address_is_valid("2001:0db8:85a3:0000:0000:8a2e:0370:7334")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
86 fail_unless(purple_ipv6_address_is_valid("2001:db8:85a3:0:0:8a2e:370:7334")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
87 fail_unless(purple_ipv6_address_is_valid("2001:db8:85a3::8a2e:370:7334")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
88 fail_unless(purple_ipv6_address_is_valid("2001:0db8:0:0::1428:57ab")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
89 fail_unless(purple_ipv6_address_is_valid("::1")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
90 fail_unless(purple_ipv6_address_is_valid("1::")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
91 fail_unless(purple_ipv6_address_is_valid("1::1")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
92 fail_unless(purple_ipv6_address_is_valid("::")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
93 fail_if(purple_ipv6_address_is_valid("")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
94 fail_if(purple_ipv6_address_is_valid(":")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
95 fail_if(purple_ipv6_address_is_valid("1.2.3.4")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
96 fail_if(purple_ipv6_address_is_valid("2001::FFD3::57ab")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
97 fail_if(purple_ipv6_address_is_valid("200000000::1")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
98 fail_if(purple_ipv6_address_is_valid("QWERTY::1")); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
99 } |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
100 END_TEST |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
101 |
16004
b4593c886933
fix our string-to-time function, and add a couple tests for it
Nathan Walp <nwalp@pidgin.im>
parents:
15888
diff
changeset
|
102 START_TEST(test_util_str_to_time) |
b4593c886933
fix our string-to-time function, and add a couple tests for it
Nathan Walp <nwalp@pidgin.im>
parents:
15888
diff
changeset
|
103 { |
21612
18fb032a602a
Fix the bug in purple_str_to_time() that was causing 'make check' to fail.
Stu Tomlinson <stu@nosnilmot.com>
parents:
21152
diff
changeset
|
104 fail_unless(377182200 == purple_str_to_time("19811214T12:50:00", TRUE, NULL, NULL, NULL)); |
16004
b4593c886933
fix our string-to-time function, and add a couple tests for it
Nathan Walp <nwalp@pidgin.im>
parents:
15888
diff
changeset
|
105 fail_unless(1175919261 == purple_str_to_time("20070407T04:14:21", TRUE, NULL, NULL, NULL)); |
b4593c886933
fix our string-to-time function, and add a couple tests for it
Nathan Walp <nwalp@pidgin.im>
parents:
15888
diff
changeset
|
106 } |
b4593c886933
fix our string-to-time function, and add a couple tests for it
Nathan Walp <nwalp@pidgin.im>
parents:
15888
diff
changeset
|
107 END_TEST |
b4593c886933
fix our string-to-time function, and add a couple tests for it
Nathan Walp <nwalp@pidgin.im>
parents:
15888
diff
changeset
|
108 |
21152
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
109 START_TEST(test_markup_html_to_xhtml) |
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
110 { |
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
111 gchar *xhtml = NULL; |
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
112 gchar *plaintext = NULL; |
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
113 purple_markup_html_to_xhtml("<a>", &xhtml, &plaintext); |
27450
7bdad85c5fed
Use assert_string_equal_free() instead of just assert_string_equal()
Mark Doliner <mark@kingant.net>
parents:
27248
diff
changeset
|
114 assert_string_equal_free("<a href=\"\"></a>", xhtml); |
7bdad85c5fed
Use assert_string_equal_free() instead of just assert_string_equal()
Mark Doliner <mark@kingant.net>
parents:
27248
diff
changeset
|
115 assert_string_equal_free("", plaintext); |
28906
68bc7c617fa0
Fix a corner case where purple_markup_html_to_xhtml generated malformed XHTML.
Paul Aurich <paul@darkrain42.org>
parents:
27469
diff
changeset
|
116 |
68bc7c617fa0
Fix a corner case where purple_markup_html_to_xhtml generated malformed XHTML.
Paul Aurich <paul@darkrain42.org>
parents:
27469
diff
changeset
|
117 |
68bc7c617fa0
Fix a corner case where purple_markup_html_to_xhtml generated malformed XHTML.
Paul Aurich <paul@darkrain42.org>
parents:
27469
diff
changeset
|
118 purple_markup_html_to_xhtml("<FONT>x</FONT>", &xhtml, &plaintext); |
68bc7c617fa0
Fix a corner case where purple_markup_html_to_xhtml generated malformed XHTML.
Paul Aurich <paul@darkrain42.org>
parents:
27469
diff
changeset
|
119 assert_string_equal_free("x", xhtml); |
68bc7c617fa0
Fix a corner case where purple_markup_html_to_xhtml generated malformed XHTML.
Paul Aurich <paul@darkrain42.org>
parents:
27469
diff
changeset
|
120 assert_string_equal_free("x", plaintext); |
21152
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
121 } |
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
122 END_TEST |
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
123 |
29852
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
124 START_TEST(test_utf8_strip_unprintables) |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
125 { |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
126 fail_unless(NULL == purple_utf8_strip_unprintables(NULL)); |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
127 /* invalid UTF-8 */ |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
128 #if 0 |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
129 /* disabled because make check fails on an assertion */ |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
130 fail_unless(NULL == purple_utf8_strip_unprintables("abc\x80\x7f")); |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
131 #endif |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
132 /* \t, \n, \r, space */ |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
133 assert_string_equal_free("ab \tcd\nef\r ", purple_utf8_strip_unprintables("ab \tcd\nef\r ")); |
29854
702ea988070c
util tests: Add a test for all the lower-ASCII control characters excluding the
Paul Aurich <paul@darkrain42.org>
parents:
29852
diff
changeset
|
134 /* ASCII control characters (stripped) */ |
702ea988070c
util tests: Add a test for all the lower-ASCII control characters excluding the
Paul Aurich <paul@darkrain42.org>
parents:
29852
diff
changeset
|
135 assert_string_equal_free(" aaaa ", purple_utf8_strip_unprintables( |
702ea988070c
util tests: Add a test for all the lower-ASCII control characters excluding the
Paul Aurich <paul@darkrain42.org>
parents:
29852
diff
changeset
|
136 "\x01\x02\x03\x04\x05\x06\x07\x08\x0B\x0C\x0E\x0F\x10 aaaa " |
702ea988070c
util tests: Add a test for all the lower-ASCII control characters excluding the
Paul Aurich <paul@darkrain42.org>
parents:
29852
diff
changeset
|
137 "\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F")); |
29852
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
138 /* Basic ASCII */ |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
139 assert_string_equal_free("Foobar", purple_utf8_strip_unprintables("Foobar")); |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
140 /* 0xE000 - 0xFFFD (UTF-8 encoded) */ |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
141 /* U+F1F7 */ |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
142 assert_string_equal_free("aaaa\xef\x87\xb7", purple_utf8_strip_unprintables("aaaa\xef\x87\xb7")); |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
143 #if 0 |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
144 /* disabled because make check fails on an assertion */ |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
145 /* U+DB80 (Private Use High Surrogate, First) -- should be stripped */ |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
146 assert_string_equal_free("aaaa", purple_utf8_strip_unprintables("aaaa\xed\xa0\x80")); |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
147 /* U+FFFE (should be stripped) */ |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
148 assert_string_equal_free("aaaa", purple_utf8_strip_unprintables("aaaa\xef\xbf\xbe")); |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
149 #endif |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
150 /* U+FEFF (should not be stripped) */ |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
151 assert_string_equal_free("aaaa\xef\xbb\xbf", purple_utf8_strip_unprintables("aaaa\xef\xbb\xbf")); |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
152 } |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
153 END_TEST |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
154 |
27248
6271a72ba4f6
* Use our assert_string_equal() macro instead of fail_unless(strcmp(), NULL)
Mark Doliner <mark@kingant.net>
parents:
26219
diff
changeset
|
155 START_TEST(test_mime_decode_field) |
6271a72ba4f6
* Use our assert_string_equal() macro instead of fail_unless(strcmp(), NULL)
Mark Doliner <mark@kingant.net>
parents:
26219
diff
changeset
|
156 { |
6271a72ba4f6
* Use our assert_string_equal() macro instead of fail_unless(strcmp(), NULL)
Mark Doliner <mark@kingant.net>
parents:
26219
diff
changeset
|
157 gchar *result = purple_mime_decode_field("=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?="); |
27450
7bdad85c5fed
Use assert_string_equal_free() instead of just assert_string_equal()
Mark Doliner <mark@kingant.net>
parents:
27248
diff
changeset
|
158 assert_string_equal_free("Keld Jørn Simonsen", result); |
27248
6271a72ba4f6
* Use our assert_string_equal() macro instead of fail_unless(strcmp(), NULL)
Mark Doliner <mark@kingant.net>
parents:
26219
diff
changeset
|
159 } |
6271a72ba4f6
* Use our assert_string_equal() macro instead of fail_unless(strcmp(), NULL)
Mark Doliner <mark@kingant.net>
parents:
26219
diff
changeset
|
160 END_TEST |
6271a72ba4f6
* Use our assert_string_equal() macro instead of fail_unless(strcmp(), NULL)
Mark Doliner <mark@kingant.net>
parents:
26219
diff
changeset
|
161 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
162 Suite * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
163 util_suite(void) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
164 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
165 Suite *s = suite_create("Utility Functions"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
166 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
167 TCase *tc = tcase_create("Base16"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
168 tcase_add_test(tc, test_util_base16_encode); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
169 tcase_add_test(tc, test_util_base16_decode); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
170 suite_add_tcase(s, tc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
171 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
172 tc = tcase_create("Base64"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
173 tcase_add_test(tc, test_util_base64_encode); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
174 tcase_add_test(tc, test_util_base64_decode); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
175 suite_add_tcase(s, tc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
176 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
177 tc = tcase_create("Filenames"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
178 tcase_add_test(tc, test_util_escape_filename); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
179 tcase_add_test(tc, test_util_unescape_filename); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
180 suite_add_tcase(s, tc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
181 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
182 tc = tcase_create("Strip Mnemonic"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
183 tcase_add_test(tc, test_util_text_strip_mnemonic); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
184 suite_add_tcase(s, tc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
185 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
186 tc = tcase_create("Email"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
187 tcase_add_test(tc, test_util_email_is_valid); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
188 suite_add_tcase(s, tc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
189 |
27469
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
190 tc = tcase_create("IPv6"); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
191 tcase_add_test(tc, test_util_ipv6_is_valid); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
192 suite_add_tcase(s, tc); |
8c41a23e6b44
Add purple_ipv6_address_is_valid; guess what it does?
Paul Aurich <paul@darkrain42.org>
parents:
27450
diff
changeset
|
193 |
16004
b4593c886933
fix our string-to-time function, and add a couple tests for it
Nathan Walp <nwalp@pidgin.im>
parents:
15888
diff
changeset
|
194 tc = tcase_create("Time"); |
b4593c886933
fix our string-to-time function, and add a couple tests for it
Nathan Walp <nwalp@pidgin.im>
parents:
15888
diff
changeset
|
195 tcase_add_test(tc, test_util_str_to_time); |
b4593c886933
fix our string-to-time function, and add a couple tests for it
Nathan Walp <nwalp@pidgin.im>
parents:
15888
diff
changeset
|
196 suite_add_tcase(s, tc); |
b4593c886933
fix our string-to-time function, and add a couple tests for it
Nathan Walp <nwalp@pidgin.im>
parents:
15888
diff
changeset
|
197 |
21152
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
198 tc = tcase_create("Markup"); |
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
199 tcase_add_test(tc, test_markup_html_to_xhtml); |
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
200 suite_add_tcase(s, tc); |
1dd6704cd187
Add a test for the html markup parsing to try to prevent a repeat of 2.2.2
Stu Tomlinson <stu@nosnilmot.com>
parents:
16004
diff
changeset
|
201 |
29852
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
202 tc = tcase_create("Stripping Unparseables"); |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
203 tcase_add_test(tc, test_utf8_strip_unprintables); |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
204 suite_add_tcase(s, tc); |
5bac51b394e6
util: Better validation of the allowed character values in XML 1.0
Paul Aurich <paul@darkrain42.org>
parents:
28906
diff
changeset
|
205 |
27248
6271a72ba4f6
* Use our assert_string_equal() macro instead of fail_unless(strcmp(), NULL)
Mark Doliner <mark@kingant.net>
parents:
26219
diff
changeset
|
206 tc = tcase_create("MIME"); |
6271a72ba4f6
* Use our assert_string_equal() macro instead of fail_unless(strcmp(), NULL)
Mark Doliner <mark@kingant.net>
parents:
26219
diff
changeset
|
207 tcase_add_test(tc, test_mime_decode_field); |
6271a72ba4f6
* Use our assert_string_equal() macro instead of fail_unless(strcmp(), NULL)
Mark Doliner <mark@kingant.net>
parents:
26219
diff
changeset
|
208 suite_add_tcase(s, tc); |
6271a72ba4f6
* Use our assert_string_equal() macro instead of fail_unless(strcmp(), NULL)
Mark Doliner <mark@kingant.net>
parents:
26219
diff
changeset
|
209 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
210 return s; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
211 } |