Atrinik Server  4.0
re_cmp.c
1 /*************************************************************************
2  * Atrinik, a Multiplayer Online Role Playing Game *
3  * *
4  * Copyright (C) 2009-2014 Alex Tokar and Atrinik Development Team *
5  * *
6  * Fork from Crossfire (Multiplayer game for X-windows). *
7  * *
8  * This program is free software; you can redistribute it and/or modify *
9  * it under the terms of the GNU General Public License as published by *
10  * the Free Software Foundation; either version 2 of the License, or *
11  * (at your option) any later version. *
12  * *
13  * This program is distributed in the hope that it will be useful, *
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16  * GNU General Public License for more details. *
17  * *
18  * You should have received a copy of the GNU General Public License *
19  * along with this program; if not, write to the Free Software *
20  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
21  * *
22  * The author can be reached at admin@atrinik.org *
23  ************************************************************************/
24 
25 #include <global.h>
26 #include <check.h>
27 #include <checkstd.h>
28 #include <check_proto.h>
29 
30 static void check_re_cmp(const char *str, const char *regex)
31 {
32  ck_assert_msg(re_cmp(str, regex) != NULL,
33  "Failed to match '%s' with regex '%s'.", str, regex);
34 }
35 
36 START_TEST(test_re_cmp)
37 {
38  check_re_cmp("dragon183", "dragon[1-9]+$");
39  check_re_cmp("dragon18", "dragon[1-9][1-9]");
40  check_re_cmp("dragon18", "dragon[1-2][1-9]$");
41  check_re_cmp("dragon18", "dragon[81]+");
42  check_re_cmp("treasure", "^treas");
43  check_re_cmp("treasure", "^treasure$");
44  check_re_cmp("where is treasure", "treasure$");
45  check_re_cmp("where is treasure?", "treasure[?.]$");
46 }
47 
48 END_TEST
49 
50 static Suite *suite(void)
51 {
52  Suite *s = suite_create("re_cmp");
53  TCase *tc_core = tcase_create("Core");
54 
55  tcase_add_unchecked_fixture(tc_core, check_setup, check_teardown);
56  tcase_add_checked_fixture(tc_core, check_test_setup, check_test_teardown);
57 
58  suite_add_tcase(s, tc_core);
59  tcase_add_test(tc_core, test_re_cmp);
60 
61  return s;
62 }
63 
64 void check_server_re_cmp(void)
65 {
66  check_run_suite(suite(), __FILE__);
67 }
const char * re_cmp(const char *, const char *)
Definition: re-cmp.c:76