Put local variables footer in all c, h files.
[idzebra-moved-to-github.git] / test / api / t11.c
1 /* $Id: t11.c,v 1.5 2006-05-10 08:13:35 adam Exp $
2    Copyright (C) 1995-2005
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 Zebra; see the file LICENSE.zebra.  If not, write to the
19 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20 02111-1307, USA.
21 */
22
23 /** testing of scan */
24 #include "testlib.h"
25
26 const char *myrec[] = {
27         "<gils>\n<title>a b</title>\n</gils>\n",
28         "<gils>\n<title>c d</title>\n</gils>\n",
29         "<gils>\n<title>e f</title>\n</gils>\n" ,
30         0} ;
31         
32 static void tst(int argc, char **argv)
33 {
34     ZebraService zs = tl_start_up(0, argc, argv);
35     ZebraHandle zh = zebra_open(zs, 0);
36
37     YAZ_CHECK(zh);
38
39     YAZ_CHECK(tl_init_data(zh, myrec));
40
41     if (1)
42     {
43         /* scan before. nothing must be returned */
44         const char *ent[] = { "a", 0 };
45         YAZ_CHECK(tl_scan(zh, "@attr 1=4 0", 1, 1, 1, 1, 0, ent));
46     }
47     if (1)
48     {
49         /* scan after. nothing must be returned */
50         YAZ_CHECK(tl_scan(zh, "@attr 1=4 m", 1, 1, 1, 0, 1, 0));
51     }
52     if (1)
53     {
54         const char *ent[] = { "a", 0 };
55         YAZ_CHECK(tl_scan(zh, "@attr 1=4 a", 1, 1, 1, 1, 0, ent));
56     }
57     if (1)
58     {
59         const char *ent[] = { "b", "c", 0 };
60         YAZ_CHECK(tl_scan(zh, "@attr 1=4 aa", 1, 2, 1, 2, 0, ent));
61     }
62     if (1)
63     {
64         const char *ent[] = { "b", "c", 0 };
65         YAZ_CHECK(tl_scan(zh, "@attr 1=4 aa", 1, 2, 1, 2, 0, ent));
66     }
67     if (1)
68     {
69         const char *ent[] = { "e", "f", 0 };
70         YAZ_CHECK(tl_scan(zh, "@attr 1=4 e", 1, 3, 1, 2, 1, ent));
71     }
72     if (1)
73     {
74         const char *ent[] = { "c", "d", 0 };
75         YAZ_CHECK(tl_scan(zh, "@attr 1=4 a", -1, 2, -1, 2, 0, ent));
76     }
77     if (1)
78     {
79         const char *ent[] = { "d", 0 };
80         YAZ_CHECK(tl_scan(zh, "@attr 1=4 a", -2, 1, -2, 1, 0, ent));
81     }
82     if (1)
83     {
84         const char *ent[] = { "f", 0 };
85         YAZ_CHECK(tl_scan(zh, "@attr 1=4 a", -4, 1, -4, 1, 0, ent));
86     }
87     if (1)
88     {
89         const char *ent[] = { "f", 0 };
90         YAZ_CHECK(tl_scan(zh, "@attr 1=4 a", -5, 1, -5, 0, 1, ent));
91     }
92     if (1)
93     {
94         const char *ent[] = { "d", "e", "f", 0 };
95         YAZ_CHECK(tl_scan(zh, "@attr 1=4 a", -2, 3, -2, 3, 0, ent));
96     }
97     if (1)
98     {
99         const char *ent[] = { "d", "e", "f", 0 };
100         YAZ_CHECK(tl_scan(zh, "@attr 1=4 a", -2, 4, -2, 3, 1, ent));
101     }
102     if (1)
103     {
104         const char *ent[] = { "a", "b", "c", "d", "e", "f", 0 };
105         YAZ_CHECK(tl_scan(zh, "@attr 1=4 0", 2, 100, 1, 6, 1, ent));
106     }
107     if (1)
108     {
109         const char *ent[] = { "b", "c", "d", "e", "f", 0 };
110         YAZ_CHECK(tl_scan(zh, "@attr 1=4 0", 0, 100, 0, 5, 1, ent));
111     }
112     if (1)
113     {
114         const char *ent[] = { "a", "b", "c", "d", "e", "f", 0 };
115         YAZ_CHECK(tl_scan(zh, "@attr 1=4 0", 10, 100, 1, 6, 1, ent));
116     }
117     if (1)
118     {
119         const char *ent[] = { "a", "b", "c", "d", "e", "f", 0 };
120         YAZ_CHECK(tl_scan(zh, "@attr 1=4 0", 22, 10, 1, 0, 1, ent));
121     }
122     if (1)
123     {
124         YAZ_CHECK(tl_scan(zh, "@attr 1=4 z", -22, 10, -22, 0, 1, 0));
125     }
126     YAZ_CHECK(tl_close_down(zh, zs));
127 }
128
129 TL_MAIN
130
131 /*
132  * Local variables:
133  * c-basic-offset: 4
134  * indent-tabs-mode: nil
135  * End:
136  * vim: shiftwidth=4 tabstop=8 expandtab
137  */
138