source: tests/check_nick.c @ b6a3fbf

Last change on this file since b6a3fbf was 5ebff60, checked in by dequis <dx@…>, at 2015-02-20T22:50:54Z

Reindent everything to K&R style with tabs

Used uncrustify, with the configuration file in ./doc/uncrustify.cfg

Commit author set to "Indent <please@…>" so that it's easier to
skip while doing git blame.

  • Property mode set to 100644
File size: 1.9 KB
RevLine 
[1fc2958]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"
[2c7df62]8#include "misc.h"
[1bed2e1]9#include "bitlbee.h"
[1fc2958]10
[5ebff60]11START_TEST(test_nick_strip){
[1fc2958]12        int i;
[5ebff60]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 };
[1fc2958]29
30        for (i = 0; get[i]; i++) {
[66b9e86e]31                char copy[60];
[1fc2958]32                strcpy(copy, get[i]);
[1bed2e1]33                nick_strip(NULL, copy);
[5ebff60]34                fail_unless(strcmp(copy, expected[i]) == 0,
35                            "(%d) nick_strip broken: %s -> %s (expected: %s)",
36                            i, get[i], copy, expected[i]);
[1fc2958]37        }
38}
39END_TEST
40
41START_TEST(test_nick_ok_ok)
42{
[0f47613]43        const char *nicks[] = { "foo", "bar123", "bla[", "blie]", "BreEZaH",
[5ebff60]44                                "\\od^~", "_123", "_123test", NULL };
[1fc2958]45        int i;
46
47        for (i = 0; nicks[i]; i++) {
[5ebff60]48                fail_unless(nick_ok(NULL, nicks[i]) == 1,
49                            "nick_ok() failed: %s", nicks[i]);
[1fc2958]50        }
51}
52END_TEST
53
54START_TEST(test_nick_ok_notok)
55{
56        const char *nicks[] = { "thisisaveryveryveryveryveryveryverylongnick",
[5ebff60]57                                "\nillegalchar", "", "nick%", "123test", NULL };
[1fc2958]58        int i;
59
60        for (i = 0; nicks[i]; i++) {
[5ebff60]61                fail_unless(nick_ok(NULL, nicks[i]) == 0,
62                            "nick_ok() succeeded for invalid: %s", nicks[i]);
[1fc2958]63        }
64}
65END_TEST
66
[5ebff60]67Suite *nick_suite(void)
[1fc2958]68{
69        Suite *s = suite_create("Nick");
70        TCase *tc_core = tcase_create("Core");
[5ebff60]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);
[1fc2958]76        return s;
77}
Note: See TracBrowser for help on using the repository browser.