source: tests/check_nick.c @ 0b9daac

Last change on this file since 0b9daac was 0b9daac, checked in by dequis <dx@…>, at 2015-02-20T23:16:08Z

Reorganize include files to avoid conflicts with other libs

  • Change all header includes to be relative to the project root
  • Remove -I${includedir} from bitlbee.pc Cflags
  • Install lib and protocols headers to their own directories. So now it is:

/usr/include/bitlbee/*.h
/usr/include/bitlbee/lib/*.h
/usr/include/bitlbee/protocols/*.h

This breaks backwards compatibility of third party plugins, but now
they don't have to do ambiguous includes like #include <proxy.h>

This also fixes trac ticket 1170 - conflicts when libproxy and liboauth
are installed at the same time bitlbee is built, which the macports
project ran into several times.

  • Property mode set to 100644
File size: 1.9 KB
Line 
1#include <stdlib.h>
2#include <glib.h>
3#include <gmodule.h>
4#include <check.h>
5#include <string.h>
6#include "irc.h"
7#include "set.h"
8#include "lib/misc.h"
9#include "bitlbee.h"
10
11START_TEST(test_nick_strip){
12        int i;
13        const char *get[] = { "test:", "test", "test\n",
14                              "thisisaveryveryveryverylongnick",
15                              "thisisave:ryveryveryverylongnick",
16                              "t::::est",
17                              "test123",
18                              "123test",
19                              "123",
20                              NULL };
21        const char *expected[] = { "test", "test", "test",
22                                   "thisisaveryveryveryveryl",
23                                   "thisisaveryveryveryveryl",
24                                   "test",
25                                   "test123",
26                                   "_123test",
27                                   "_123",
28                                   NULL };
29
30        for (i = 0; get[i]; i++) {
31                char copy[60];
32                strcpy(copy, get[i]);
33                nick_strip(NULL, copy);
34                fail_unless(strcmp(copy, expected[i]) == 0,
35                            "(%d) nick_strip broken: %s -> %s (expected: %s)",
36                            i, get[i], copy, expected[i]);
37        }
38}
39END_TEST
40
41START_TEST(test_nick_ok_ok)
42{
43        const char *nicks[] = { "foo", "bar123", "bla[", "blie]", "BreEZaH",
44                                "\\od^~", "_123", "_123test", NULL };
45        int i;
46
47        for (i = 0; nicks[i]; i++) {
48                fail_unless(nick_ok(NULL, nicks[i]) == 1,
49                            "nick_ok() failed: %s", nicks[i]);
50        }
51}
52END_TEST
53
54START_TEST(test_nick_ok_notok)
55{
56        const char *nicks[] = { "thisisaveryveryveryveryveryveryverylongnick",
57                                "\nillegalchar", "", "nick%", "123test", NULL };
58        int i;
59
60        for (i = 0; nicks[i]; i++) {
61                fail_unless(nick_ok(NULL, nicks[i]) == 0,
62                            "nick_ok() succeeded for invalid: %s", nicks[i]);
63        }
64}
65END_TEST
66
67Suite *nick_suite(void)
68{
69        Suite *s = suite_create("Nick");
70        TCase *tc_core = tcase_create("Core");
71
72        suite_add_tcase(s, tc_core);
73        tcase_add_test(tc_core, test_nick_ok_ok);
74        tcase_add_test(tc_core, test_nick_ok_notok);
75        tcase_add_test(tc_core, test_nick_strip);
76        return s;
77}
Note: See TracBrowser for help on using the repository browser.