Happy new year.
[idzebra-moved-to-github.git] / util / tstcharmap.c
1 /* This file is part of the Zebra server.
2    Copyright (C) 1994-2011 Index Data
3
4 Zebra is free software; you can redistribute it and/or modify it under
5 the terms of the GNU General Public License as published by the Free
6 Software Foundation; either version 2, or (at your option) any later
7 version.
8
9 Zebra is distributed in the hope that it will be useful, but WITHOUT ANY
10 WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
18 */
19
20 #include <charmap.h>
21 #include <yaz/test.h>
22 #include <stdlib.h>
23
24 /* use env srcdir as base directory - or current directory if unset */
25 const char *get_srcdir(void)
26 {
27     const char *srcdir = getenv("srcdir");
28     if (!srcdir || ! *srcdir)
29         srcdir=".";
30     return srcdir;
31
32 }
33
34 void tst1(void)
35 {
36     /* open existing map chrmaptab.chr */
37     chrmaptab tab = chrmaptab_create(get_srcdir() /* tabpath */,
38                                      "tstcharmap.chr" /* file */,
39                                      0 /* tabroot */ );
40     YAZ_CHECK(tab);
41     chrmaptab_destroy(tab);
42 }
43
44 void tst2(void)
45 {
46     /* open non-existing nonexist.chr */
47     chrmaptab tab = chrmaptab_create(get_srcdir() /* tabpath */,
48                                      "nonexist.chr" /* file */,
49                                      0 /* tabroot */ );
50     YAZ_CHECK(!tab);
51     chrmaptab_destroy(tab);
52 }
53
54 void tst3(void)
55 {
56     /* open empty emptycharmap.chrr */
57     chrmaptab tab = chrmaptab_create(get_srcdir() /* tabpath */,
58                                      "emptycharmap.chr" /* file */,
59                                      0 /* tabroot */ );
60     YAZ_CHECK(!tab);
61     chrmaptab_destroy(tab);
62 }
63
64 int main(int argc, char **argv)
65 {
66     YAZ_CHECK_INIT(argc, argv);
67     YAZ_CHECK_LOG();
68
69     tst1();
70     tst2();
71     tst3();
72
73     YAZ_CHECK_TERM;
74 }
75
76 /*
77  * Local variables:
78  * c-basic-offset: 4
79  * c-file-style: "Stroustrup"
80  * indent-tabs-mode: nil
81  * End:
82  * vim: shiftwidth=4 tabstop=8 expandtab
83  */
84