1 /* This file is part of the YAZ toolkit.
2 * Copyright (C) 1995-2013 Index Data
3 * See the file LICENSE for details.
12 #include <yaz/matchstr.h>
15 int main (int argc, char **argv)
17 YAZ_CHECK_INIT(argc, argv);
19 YAZ_CHECK(yaz_matchstr("x", "x") == 0);
20 YAZ_CHECK(yaz_matchstr("x", "X") == 0);
21 YAZ_CHECK(yaz_matchstr("a", "b") > 0);
22 YAZ_CHECK(yaz_matchstr("b", "a") > 0);
23 YAZ_CHECK(yaz_matchstr("aa","a") > 0);
24 YAZ_CHECK(yaz_matchstr("a-", "a") > 0);
25 YAZ_CHECK(yaz_matchstr("A-b", "ab") == 0);
26 YAZ_CHECK(yaz_matchstr("A--b", "ab") > 0);
27 YAZ_CHECK(yaz_matchstr("A--b", "a-b") > 0);
28 YAZ_CHECK(yaz_matchstr("A--b", "a--b") == 0);
29 YAZ_CHECK(yaz_matchstr("a123", "a?") == 0);
30 YAZ_CHECK(yaz_matchstr("a123", "a1.3") == 0);
31 YAZ_CHECK(yaz_matchstr("a123", "..?") == 0);
32 YAZ_CHECK(yaz_matchstr("a123", "a1.") > 0);
33 YAZ_CHECK(yaz_matchstr("a123", "a...") == 0);
35 YAZ_CHECK_EQ(yaz_strncasecmp("a", "b", 0), 0);
36 YAZ_CHECK_EQ(yaz_strncasecmp("a", "a", 1), 0);
37 YAZ_CHECK_EQ(yaz_strncasecmp("a", "a", 2), 0);
38 YAZ_CHECK_EQ(yaz_strncasecmp("a", "b", 1), -1);
39 YAZ_CHECK_EQ(yaz_strncasecmp("a", "b", 2), -1);
40 YAZ_CHECK_EQ(yaz_strncasecmp("b", "a", 1), 1);
41 YAZ_CHECK_EQ(yaz_strncasecmp("b", "a", 2), 1);
43 YAZ_CHECK_EQ(yaz_strncasecmp("bb", "ba", 1), 0);
44 YAZ_CHECK_EQ(yaz_strncasecmp("bb", "ba", 2), 1);
45 YAZ_CHECK_EQ(yaz_strncasecmp("ba", "bb", 2), -1);
46 YAZ_CHECK_EQ(yaz_strncasecmp("ba", "b", 2), 'a');
47 YAZ_CHECK_EQ(yaz_strncasecmp("b", "ba", 2), -'a');
49 YAZ_CHECK_EQ(yaz_strcasecmp("", ""), 0);
50 YAZ_CHECK_EQ(yaz_strcasecmp("a", "a"), 0);
51 YAZ_CHECK_EQ(yaz_strcasecmp("a", "b"), -1);
52 YAZ_CHECK_EQ(yaz_strcasecmp("b", "a"), 1);
54 YAZ_CHECK_EQ(yaz_strcasecmp("bb", "ba"), 1);
55 YAZ_CHECK_EQ(yaz_strcasecmp("ba", "bb"), -1);
56 YAZ_CHECK_EQ(yaz_strcasecmp("ba", "b"), 'a');
57 YAZ_CHECK_EQ(yaz_strcasecmp("b", "ba"), -'a');
65 * c-file-style: "Stroustrup"
66 * indent-tabs-mode: nil
68 * vim: shiftwidth=4 tabstop=8 expandtab