libpurple/tests/test_qq.c

Sat, 01 May 2010 02:36:27 +0000

author
Paul Aurich <darkrain42@pidgin.im>
date
Sat, 01 May 2010 02:36:27 +0000
changeset 30149
b552354d087a
parent 28490
fdf38a8ff87e
permissions
-rw-r--r--

util tests: Add a test for all the lower-ASCII control characters excluding the
whitelisted 0x9, 0xA, and 0xD

28490
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
1 #include <string.h>
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
2
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
3 #include "tests.h"
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
4 #include "../protocols/qq/qq_crypt.h"
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
5
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
6 START_TEST(test_qq_encrypt)
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
7 {
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
8 const guint8 * const key = (guint8 *)"hamburger";
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
9 guint8 crypted[80];
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
10 gint ret;
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
11
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
12 ret = qq_encrypt(crypted, (const guint8 * const)"a", 1, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
13 assert_int_equal(16, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
14
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
15 ret = qq_encrypt(crypted, (const guint8 * const)"aa", 2, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
16 assert_int_equal(16, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
17
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
18 ret = qq_encrypt(crypted, (const guint8 * const)"aaa", 3, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
19 assert_int_equal(16, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
20
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
21 ret = qq_encrypt(crypted, (const guint8 * const)"aaaa", 4, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
22 assert_int_equal(16, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
23
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
24 ret = qq_encrypt(crypted, (const guint8 * const)"aaaaa", 5, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
25 assert_int_equal(16, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
26
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
27 ret = qq_encrypt(crypted, (const guint8 * const)"aaaaaa", 6, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
28 assert_int_equal(16, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
29
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
30 ret = qq_encrypt(crypted, (const guint8 * const)"aaaaaaa", 7, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
31 assert_int_equal(24, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
32
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
33 ret = qq_encrypt(crypted, (const guint8 * const)"aaaaaaaa", 8, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
34 assert_int_equal(24, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
35
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
36 ret = qq_encrypt(crypted, (const guint8 * const)"aaaaaaaaa", 9, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
37 assert_int_equal(24, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
38
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
39 ret = qq_encrypt(crypted, (const guint8 * const)"aaaaaaaaaa", 10, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
40 assert_int_equal(24, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
41
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
42 ret = qq_encrypt(crypted,
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
43 (const guint8 * const)"aaaaaaaaaaa", 11, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
44 assert_int_equal(24, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
45
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
46 ret = qq_encrypt(crypted,
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
47 (const guint8 * const)"aaaaaaaaaaaa", 12, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
48 assert_int_equal(24, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
49
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
50 ret = qq_encrypt(crypted,
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
51 (const guint8 * const)"aaaaaaaaaaaaa", 13, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
52 assert_int_equal(24, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
53
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
54 ret = qq_encrypt(crypted,
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
55 (const guint8 * const)"aaaaaaaaaaaaaa", 14, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
56 assert_int_equal(24, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
57
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
58 ret = qq_encrypt(crypted,
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
59 (const guint8 * const)"aaaaaaaaaaaaaaa", 15, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
60 assert_int_equal(32, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
61
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
62 ret = qq_encrypt(crypted,
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
63 (const guint8 * const)"aaaaaaaaaaaaaaaa", 16, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
64 assert_int_equal(32, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
65
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
66 ret = qq_encrypt(crypted,
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
67 (const guint8 * const)"aaaaaaaaaaaaaaaaa", 17, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
68 assert_int_equal(32, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
69
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
70 ret = qq_encrypt(crypted,
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
71 (const guint8 * const)"aaaaaaaaaaaaaaaaaa", 18, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
72 assert_int_equal(32, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
73
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
74 ret = qq_encrypt(crypted,
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
75 (const guint8 * const)"aaaaaaaaaaaaaaaaaaa", 19, key);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
76 assert_int_equal(32, ret);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
77
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
78 /*
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
79 fprintf(stderr, "crypted=%s\n", crypted);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
80 assert_string_equal_free("plain",
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
81 yahoo_codes_to_html("plain"));
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
82 */
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
83 }
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
84 END_TEST
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
85
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
86 START_TEST(test_qq_decrypt)
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
87 {
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
88 }
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
89 END_TEST
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
90
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
91 Suite *
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
92 qq_suite(void)
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
93 {
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
94 Suite *s;
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
95 TCase *tc;
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
96
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
97 s = suite_create("QQ");
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
98
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
99 tc = tcase_create("QQ Crypt Functions");
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
100 tcase_add_test(tc, test_qq_encrypt);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
101 tcase_add_test(tc, test_qq_decrypt);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
102 suite_add_tcase(s, tc);
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
103
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
104 return s;
fdf38a8ff87e Add a test for qq's qq_encrypt function. Refs #10191. The string of
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
105 }

mercurial