0c99133cd4dc185c3c73659867c994b1156ac7a0
[idzebra-moved-to-github.git] / test / api / t17.c
1 /* $Id: t17.c,v 1.8 2007-12-07 14:17:37 adam Exp $
2    Copyright (C) 1995-2007
3    Index Data ApS
4
5 This file is part of the Zebra server.
6
7 Zebra is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 2, or (at your option) any later
10 version.
11
12 Zebra is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20
21 */
22
23 /** \file
24     \brief tests ICU enabled maps
25 */
26 #include <yaz/test.h>
27 #include "testlib.h"
28
29 const char *myrec[] = {
30         "<gils>\n<title>My computer</title>\n</gils>\n",
31         "<gils>\n<title>My x computer</title>\n</gils>\n",
32         "<gils>\n<title>My computer x</title>\n</gils>\n" ,
33         0} ;
34         
35 static void tst(int argc, char **argv)
36 {
37 #if YAZ_HAVE_ICU
38     ZebraService zs = tl_start_up("zebra17.cfg", argc, argv);
39     ZebraHandle zh = zebra_open(zs, 0);
40
41     YAZ_CHECK(tl_init_data(zh, myrec));
42
43     /* simple term */
44     YAZ_CHECK(tl_query(zh, "@attr 1=title notfound", 0));
45
46     YAZ_CHECK(tl_query(zh, "@attr 1=title computer", 3));
47  
48     YAZ_CHECK(tl_query(zh, "@attr 1=title .computer.", 3));
49
50     YAZ_CHECK(tl_query(zh, "@attr 1=title x", 2));
51
52     YAZ_CHECK(tl_query(zh, "@attr 1=title my", 3));
53
54     /* phrase search */
55     YAZ_CHECK(tl_query(zh, "@attr 1=title {my computer}", 2));
56     YAZ_CHECK(tl_query(zh, "@attr 1=title @attr 6=1 {my computer}", 2));
57     YAZ_CHECK(tl_query(zh, "@attr 1=title {computer x}", 1));
58
59     /* complete-subfield search */
60     YAZ_CHECK(tl_query(zh, "@attr 1=title @attr 6=2 {my computer}", 1));
61     YAZ_CHECK(tl_query(zh, "@attr 1=title @attr 6=2 {my}", 0));
62  
63     YAZ_CHECK(tl_close_down(zh, zs));
64 #endif
65 }
66
67 TL_MAIN
68
69 /*
70  * Local variables:
71  * c-basic-offset: 4
72  * indent-tabs-mode: nil
73  * End:
74  * vim: shiftwidth=4 tabstop=8 expandtab
75  */
76