Mercurial > pidgin
annotate libpurple/tests/test_jabber_jutil.c @ 27560:090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
I'm concerned by this from the g_utf8_strdown manpage:
"Converts all Unicode characters in the string that have a case to lowercase. The exact manner that this is done depends on the current locale, and may result in the number of characters in the string changing."
Further tests that exercise both of those possibilities (ugh, locale-dependence) are extremely welcome.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Wed, 15 Jul 2009 22:31:10 +0000 |
parents | e90fa379fcec |
children | e5fdfff98aa9 |
rev | line source |
---|---|
15888
6577b292e7b4
Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <stu@nosnilmot.com>
parents:
15373
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:
15373
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" |
15890
5bd5af818afe
Update #includes to match changes in jabber
Stu Tomlinson <stu@nosnilmot.com>
parents:
15888
diff
changeset
|
4 #include "../account.h" |
5bd5af818afe
Update #includes to match changes in jabber
Stu Tomlinson <stu@nosnilmot.com>
parents:
15888
diff
changeset
|
5 #include "../conversation.h" |
5bd5af818afe
Update #includes to match changes in jabber
Stu Tomlinson <stu@nosnilmot.com>
parents:
15888
diff
changeset
|
6 #include "../xmlnode.h" |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
7 #include "../protocols/jabber/jutil.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
8 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
9 START_TEST(test_get_resource) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
10 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
11 assert_string_equal_free("baz", jabber_get_resource("foo@bar/baz")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
12 assert_string_equal_free("baz", jabber_get_resource("bar/baz")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
13 assert_string_equal_free("baz/bat", jabber_get_resource("foo@bar/baz/bat")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
14 assert_string_equal_free("baz/bat", jabber_get_resource("bar/baz/bat")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
15 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
16 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
17 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
18 START_TEST(test_get_resource_no_resource) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
19 { |
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 fail_unless(NULL == jabber_get_resource("foo@bar")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
22 fail_unless(NULL == jabber_get_resource("bar")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
23 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
24 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
25 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
26 START_TEST(test_get_bare_jid) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
27 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
28 assert_string_equal_free("foo@bar", jabber_get_bare_jid("foo@bar")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
29 assert_string_equal_free("foo@bar", jabber_get_bare_jid("foo@bar/baz")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
30 assert_string_equal_free("bar", jabber_get_bare_jid("bar")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 assert_string_equal_free("bar", jabber_get_bare_jid("bar/baz")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
32 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
33 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
34 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
35 START_TEST(test_nodeprep_validate) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
36 { |
15888
6577b292e7b4
Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <stu@nosnilmot.com>
parents:
15373
diff
changeset
|
37 char *longnode; |
6577b292e7b4
Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <stu@nosnilmot.com>
parents:
15373
diff
changeset
|
38 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
39 fail_unless(jabber_nodeprep_validate(NULL)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
40 fail_unless(jabber_nodeprep_validate("foo")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
41 fail_unless(jabber_nodeprep_validate("%d")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
42 fail_unless(jabber_nodeprep_validate("y\\z")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
43 |
15888
6577b292e7b4
Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <stu@nosnilmot.com>
parents:
15373
diff
changeset
|
44 longnode = g_strnfill(1023, 'a'); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
45 fail_unless(jabber_nodeprep_validate(longnode)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
46 g_free(longnode); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
47 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
48 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
49 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
50 START_TEST(test_nodeprep_validate_illegal_chars) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
51 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
52 fail_if(jabber_nodeprep_validate("don't")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
53 fail_if(jabber_nodeprep_validate("m@ke")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
54 fail_if(jabber_nodeprep_validate("\"me\"")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
55 fail_if(jabber_nodeprep_validate("&ngry")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
56 fail_if(jabber_nodeprep_validate("c:")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
57 fail_if(jabber_nodeprep_validate("a/b")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
58 fail_if(jabber_nodeprep_validate("4>2")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
59 fail_if(jabber_nodeprep_validate("4<7")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
60 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
61 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
62 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
63 START_TEST(test_nodeprep_validate_too_long) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
64 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
65 char *longnode = g_strnfill(1024, 'a'); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
66 fail_if(jabber_nodeprep_validate(longnode)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
67 g_free(longnode); |
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 END_TEST |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
70 |
27451
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
71 #define assert_valid_jid(str) { \ |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
72 JabberID *jid = jabber_id_new(str); \ |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
73 fail_if(jid == NULL, "JID '%s' is valid but jabber_id_new() rejected it", str); \ |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
74 jabber_id_free(jid); \ |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
75 } |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
76 |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
77 #define assert_invalid_jid(str) { \ |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
78 JabberID *jid = jabber_id_new(str); \ |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
79 fail_if(jid != NULL, "JID '%s' is invalid but jabber_id_new() allowed it", str); \ |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
80 jabber_id_free(jid); \ |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
81 } |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
82 |
27560
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
83 #define assert_jid_parts(expect_node, expect_domain, str) { \ |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
84 JabberID *jid = jabber_id_new(str); \ |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
85 fail_if(jid == NULL, "JID '%s' is valid but jabber_id_new() rejected it", str); \ |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
86 fail_if(jid->node == NULL, "JID '%s' is valid but jabber_id_new() didn't return a node", str); \ |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
87 fail_if(jid->domain == NULL, "JID '%s' is valid but jabber_id_new() didn't return a domain", str); \ |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
88 fail_if(jid->resource != NULL, "JID '%s' doesn't contain a resource", str); \ |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
89 assert_string_equal(expect_node, jid->node); \ |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
90 assert_string_equal(expect_domain, jid->domain); \ |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
91 jabber_id_free(jid); \ |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
92 } |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
93 |
27451
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
94 START_TEST(test_jabber_id_new) |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
95 { |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
96 assert_valid_jid("gmail.com"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
97 assert_valid_jid("gmail.com/Test"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
98 assert_valid_jid("gmail.com/Test@"); |
27453 | 99 assert_valid_jid("gmail.com/@"); |
27451
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
100 assert_valid_jid("gmail.com/Test@alkjaweflkj"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
101 assert_valid_jid("mark.doliner@gmail.com"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
102 assert_valid_jid("mark.doliner@gmail.com/Test12345"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
103 assert_valid_jid("mark.doliner@gmail.com/Test@12345"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
104 assert_valid_jid("mark.doliner@gmail.com/Te/st@12@//345"); |
27457
3599729ce9ce
More tests, some with an international flavor. I have no idea what that
Mark Doliner <mark@kingant.net>
parents:
27453
diff
changeset
|
105 assert_valid_jid("わいど@conference.jabber.org"); |
3599729ce9ce
More tests, some with an international flavor. I have no idea what that
Mark Doliner <mark@kingant.net>
parents:
27453
diff
changeset
|
106 assert_valid_jid("まりるーむ@conference.jabber.org"); |
3599729ce9ce
More tests, some with an international flavor. I have no idea what that
Mark Doliner <mark@kingant.net>
parents:
27453
diff
changeset
|
107 assert_valid_jid("mark.doliner@gmail.com/まりるーむ"); |
27459
91fefa830798
Whoops, some of these were asserting valid but should have been
Mark Doliner <mark@kingant.net>
parents:
27457
diff
changeset
|
108 assert_valid_jid("mark.doliner@gmail/stuff.org"); |
27463
167d7c3a4f7b
XMPP allows for internationalized domain names.
Paul Aurich <paul@darkrain42.org>
parents:
27459
diff
changeset
|
109 assert_valid_jid("stuart@nödåtXäYZ.se"); |
167d7c3a4f7b
XMPP allows for internationalized domain names.
Paul Aurich <paul@darkrain42.org>
parents:
27459
diff
changeset
|
110 assert_valid_jid("stuart@nödåtXäYZ.se/まりるーむ"); |
167d7c3a4f7b
XMPP allows for internationalized domain names.
Paul Aurich <paul@darkrain42.org>
parents:
27459
diff
changeset
|
111 assert_valid_jid("mark.doliner@わいど.org"); |
167d7c3a4f7b
XMPP allows for internationalized domain names.
Paul Aurich <paul@darkrain42.org>
parents:
27459
diff
changeset
|
112 assert_valid_jid("nick@まつ.おおかみ.net"); |
27464
da3d0159333d
XMPP domains can also be IPv4 or IPv6 addresses
Paul Aurich <paul@darkrain42.org>
parents:
27463
diff
changeset
|
113 assert_valid_jid("paul@10.0.42.230/s"); |
da3d0159333d
XMPP domains can also be IPv4 or IPv6 addresses
Paul Aurich <paul@darkrain42.org>
parents:
27463
diff
changeset
|
114 assert_valid_jid("paul@[::1]"); /* IPv6 */ |
da3d0159333d
XMPP domains can also be IPv4 or IPv6 addresses
Paul Aurich <paul@darkrain42.org>
parents:
27463
diff
changeset
|
115 assert_valid_jid("paul@[2001:470:1f05:d58::2]"); |
27470
e90fa379fcec
Validate IPv6 identifiers in the domain portion of a JID.
Paul Aurich <paul@darkrain42.org>
parents:
27464
diff
changeset
|
116 assert_valid_jid("paul@[2001:470:1f05:d58::2]/foo"); |
27451
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
117 |
27453 | 118 assert_invalid_jid("@gmail.com"); |
27451
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
119 assert_invalid_jid("@@gmail.com"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
120 assert_invalid_jid("mark.doliner@@gmail.com/Test12345"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
121 assert_invalid_jid("mark@doliner@gmail.com/Test12345"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
122 assert_invalid_jid("@gmail.com/Test@12345"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
123 assert_invalid_jid("/Test@12345"); |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
124 assert_invalid_jid("mark.doliner@"); |
27452
2131abd387f9
I thought of another invalid JID. I'm changing jabber_id_new() so that all
Mark Doliner <mark@kingant.net>
parents:
27451
diff
changeset
|
125 assert_invalid_jid("mark.doliner/"); |
27459
91fefa830798
Whoops, some of these were asserting valid but should have been
Mark Doliner <mark@kingant.net>
parents:
27457
diff
changeset
|
126 assert_invalid_jid("mark.doliner@gmail_stuff.org"); |
91fefa830798
Whoops, some of these were asserting valid but should have been
Mark Doliner <mark@kingant.net>
parents:
27457
diff
changeset
|
127 assert_invalid_jid("mark.doliner@gmail[stuff.org"); |
91fefa830798
Whoops, some of these were asserting valid but should have been
Mark Doliner <mark@kingant.net>
parents:
27457
diff
changeset
|
128 assert_invalid_jid("mark.doliner@gmail\\stuff.org"); |
27470
e90fa379fcec
Validate IPv6 identifiers in the domain portion of a JID.
Paul Aurich <paul@darkrain42.org>
parents:
27464
diff
changeset
|
129 assert_invalid_jid("paul@[::1]124"); |
e90fa379fcec
Validate IPv6 identifiers in the domain portion of a JID.
Paul Aurich <paul@darkrain42.org>
parents:
27464
diff
changeset
|
130 assert_invalid_jid("paul@2[::1]124/as"); |
27560
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
131 |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
132 /* Ensure that jabber_id_new is properly lowercasing node and domains */ |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
133 assert_jid_parts("paul", "darkrain42.org", "PaUL@darkrain42.org"); |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
134 assert_jid_parts("paul", "darkrain42.org", "paul@DaRkRaIn42.org"); |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
135 assert_jid_parts("ꙥ", "darkrain42.org", "Ꙥ@darkrain42.org"); |
090dc513552f
Ensure UTF-8 strdown is mostly working correctly.
Paul Aurich <paul@darkrain42.org>
parents:
27470
diff
changeset
|
136 assert_jid_parts("paul", "өarkrain42.org", "paul@Өarkrain42.org"); |
27451
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
137 } |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
138 END_TEST |
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
139 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
140 Suite * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
141 jabber_jutil_suite(void) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
142 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
143 Suite *s = suite_create("Jabber Utility Functions"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
144 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
145 TCase *tc = tcase_create("Get Resource"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
146 tcase_add_test(tc, test_get_resource); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
147 tcase_add_test(tc, test_get_resource_no_resource); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
148 suite_add_tcase(s, tc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
149 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
150 tc = tcase_create("Get Bare JID"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
151 tcase_add_test(tc, test_get_bare_jid); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
152 suite_add_tcase(s, tc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
153 |
27451
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
154 tc = tcase_create("JID validate"); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
155 tcase_add_test(tc, test_nodeprep_validate); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
156 tcase_add_test(tc, test_nodeprep_validate_illegal_chars); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
157 tcase_add_test(tc, test_nodeprep_validate_too_long); |
27451
962ce369fc35
Add tests for jabber_id_new(). Please add to this! JIDs with accented
Mark Doliner <mark@kingant.net>
parents:
15890
diff
changeset
|
158 tcase_add_test(tc, test_jabber_id_new); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
159 suite_add_tcase(s, tc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
160 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
161 return s; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
162 } |