libpurple/tests/test_jabber_jutil.c

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 15953
dfb69139ddf9
child 18068
b6554e3c8224
child 27710
e4b25e3c28a2
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

15950
0f01bb61c5d3 Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15435
diff changeset
1 #include <string.h>
0f01bb61c5d3 Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15435
diff changeset
2
15155
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
3 #include "tests.h"
15953
dfb69139ddf9 Update #includes to match changes in jabber
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15950
diff changeset
4 #include "../account.h"
dfb69139ddf9 Update #includes to match changes in jabber
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15950
diff changeset
5 #include "../conversation.h"
dfb69139ddf9 Update #includes to match changes in jabber
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15950
diff changeset
6 #include "../xmlnode.h"
15155
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
7 #include "../protocols/jabber/jutil.h"
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
8
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
9 START_TEST(test_get_resource)
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
10 {
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
11 assert_string_equal_free("baz", jabber_get_resource("foo@bar/baz"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
12 assert_string_equal_free("baz", jabber_get_resource("bar/baz"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
13 assert_string_equal_free("baz/bat", jabber_get_resource("foo@bar/baz/bat"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
14 assert_string_equal_free("baz/bat", jabber_get_resource("bar/baz/bat"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
15 }
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
16 END_TEST
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
17
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
18 START_TEST(test_get_resource_no_resource)
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
19 {
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
20
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
21 fail_unless(NULL == jabber_get_resource("foo@bar"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
22 fail_unless(NULL == jabber_get_resource("bar"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
23 }
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
24 END_TEST
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
25
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
26 START_TEST(test_get_bare_jid)
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
27 {
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
28 assert_string_equal_free("foo@bar", jabber_get_bare_jid("foo@bar"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
29 assert_string_equal_free("foo@bar", jabber_get_bare_jid("foo@bar/baz"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
30 assert_string_equal_free("bar", jabber_get_bare_jid("bar"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
31 assert_string_equal_free("bar", jabber_get_bare_jid("bar/baz"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
32 }
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
33 END_TEST
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
34
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
35 START_TEST(test_nodeprep_validate)
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
36 {
15950
0f01bb61c5d3 Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15435
diff changeset
37 char *longnode;
0f01bb61c5d3 Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15435
diff changeset
38
15155
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
39 fail_unless(jabber_nodeprep_validate(NULL));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
40 fail_unless(jabber_nodeprep_validate("foo"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
41 fail_unless(jabber_nodeprep_validate("%d"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
42 fail_unless(jabber_nodeprep_validate("y\\z"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
43
15950
0f01bb61c5d3 Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15435
diff changeset
44 longnode = g_strnfill(1023, 'a');
15155
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
45 fail_unless(jabber_nodeprep_validate(longnode));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
46 g_free(longnode);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
47 }
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
48 END_TEST
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
49
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
50 START_TEST(test_nodeprep_validate_illegal_chars)
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
51 {
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
52 fail_if(jabber_nodeprep_validate("don't"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
53 fail_if(jabber_nodeprep_validate("m@ke"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
54 fail_if(jabber_nodeprep_validate("\"me\""));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
55 fail_if(jabber_nodeprep_validate("&ngry"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
56 fail_if(jabber_nodeprep_validate("c:"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
57 fail_if(jabber_nodeprep_validate("a/b"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
58 fail_if(jabber_nodeprep_validate("4>2"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
59 fail_if(jabber_nodeprep_validate("4<7"));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
60 }
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
61 END_TEST
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
62
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
63 START_TEST(test_nodeprep_validate_too_long)
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
64 {
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
65 char *longnode = g_strnfill(1024, 'a');
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
66 fail_if(jabber_nodeprep_validate(longnode));
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
67 g_free(longnode);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
68 }
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
69 END_TEST
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
70
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
71 Suite *
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
72 jabber_jutil_suite(void)
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
73 {
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
74 Suite *s = suite_create("Jabber Utility Functions");
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
75
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
76 TCase *tc = tcase_create("Get Resource");
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
77 tcase_add_test(tc, test_get_resource);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
78 tcase_add_test(tc, test_get_resource_no_resource);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
79 suite_add_tcase(s, tc);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
80
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
81 tc = tcase_create("Get Bare JID");
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
82 tcase_add_test(tc, test_get_bare_jid);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
83 suite_add_tcase(s, tc);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
84
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
85 tc = tcase_create("Nodeprep validate");
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
86 tcase_add_test(tc, test_nodeprep_validate);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
87 tcase_add_test(tc, test_nodeprep_validate_illegal_chars);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
88 tcase_add_test(tc, test_nodeprep_validate_too_long);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
89 suite_add_tcase(s, tc);
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
90
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
91 return s;
ef9cb9123212 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
92 }

mercurial