annotate libgaim/tests/test_jabber_jutil.c @ 15323:99dcbb8c4557

[gaim-migrate @ 18114] Patch #1575852 from Denis Washington to fix group count display in the buddy list when expanding/collapsing the groups. committer: Tailor Script <tailor@pidgin.im>
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 12 Jan 2007 17:43:25 +0000
parents 8eaa26359fe1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15093
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1 #include "tests.h"
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2 #include "../protocols/jabber/jutil.h"
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
3
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
4 START_TEST(test_get_resource)
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
5 {
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
6 assert_string_equal_free("baz", jabber_get_resource("foo@bar/baz"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
7 assert_string_equal_free("baz", jabber_get_resource("bar/baz"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
8 assert_string_equal_free("baz/bat", jabber_get_resource("foo@bar/baz/bat"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
9 assert_string_equal_free("baz/bat", jabber_get_resource("bar/baz/bat"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
10 }
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
11 END_TEST
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
12
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
13 START_TEST(test_get_resource_no_resource)
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
14 {
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
15
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
16 fail_unless(NULL == jabber_get_resource("foo@bar"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
17 fail_unless(NULL == jabber_get_resource("bar"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
18 }
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
19 END_TEST
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
20
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
21 START_TEST(test_get_bare_jid)
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
22 {
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
23 assert_string_equal_free("foo@bar", jabber_get_bare_jid("foo@bar"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
24 assert_string_equal_free("foo@bar", jabber_get_bare_jid("foo@bar/baz"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
25 assert_string_equal_free("bar", jabber_get_bare_jid("bar"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
26 assert_string_equal_free("bar", jabber_get_bare_jid("bar/baz"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
27 }
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
28 END_TEST
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
29
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
30 START_TEST(test_nodeprep_validate)
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
31 {
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
32 fail_unless(jabber_nodeprep_validate(NULL));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
33 fail_unless(jabber_nodeprep_validate("foo"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
34 fail_unless(jabber_nodeprep_validate("%d"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
35 fail_unless(jabber_nodeprep_validate("y\\z"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
36
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
37 char *longnode = g_strnfill(1023, 'a');
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
38 fail_unless(jabber_nodeprep_validate(longnode));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
39 g_free(longnode);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
40 }
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
41 END_TEST
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
42
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
43 START_TEST(test_nodeprep_validate_illegal_chars)
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
44 {
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
45 fail_if(jabber_nodeprep_validate("don't"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
46 fail_if(jabber_nodeprep_validate("m@ke"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
47 fail_if(jabber_nodeprep_validate("\"me\""));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
48 fail_if(jabber_nodeprep_validate("&ngry"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
49 fail_if(jabber_nodeprep_validate("c:"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
50 fail_if(jabber_nodeprep_validate("a/b"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
51 fail_if(jabber_nodeprep_validate("4>2"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
52 fail_if(jabber_nodeprep_validate("4<7"));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
53 }
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
54 END_TEST
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
55
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
56 START_TEST(test_nodeprep_validate_too_long)
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
57 {
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
58 char *longnode = g_strnfill(1024, 'a');
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
59 fail_if(jabber_nodeprep_validate(longnode));
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
60 g_free(longnode);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
61 }
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
62 END_TEST
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
63
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
64 Suite *
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
65 jabber_jutil_suite(void)
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
66 {
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
67 Suite *s = suite_create("Jabber Utility Functions");
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
68
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
69 TCase *tc = tcase_create("Get Resource");
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
70 tcase_add_test(tc, test_get_resource);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
71 tcase_add_test(tc, test_get_resource_no_resource);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
72 suite_add_tcase(s, tc);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
73
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
74 tc = tcase_create("Get Bare JID");
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
75 tcase_add_test(tc, test_get_bare_jid);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
76 suite_add_tcase(s, tc);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
77
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
78 tc = tcase_create("Nodeprep validate");
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
79 tcase_add_test(tc, test_nodeprep_validate);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
80 tcase_add_test(tc, test_nodeprep_validate_illegal_chars);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
81 tcase_add_test(tc, test_nodeprep_validate_too_long);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
82 suite_add_tcase(s, tc);
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
83
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
84 return s;
8eaa26359fe1 [gaim-migrate @ 17879]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
85 }