-/* $Id: t17.c,v 1.1 2007-10-29 13:43:58 adam Exp $
+/* $Id: t17.c,v 1.9 2007-12-13 11:09:20 adam Exp $
Copyright (C) 1995-2007
Index Data ApS
*/
/** \file
- \brief tests unicode enabled searching (index_types)
+ \brief tests ICU enabled maps
*/
#include <yaz/test.h>
#include "testlib.h"
+#define char_ae "\xc3\xa6"
+#define char_AE "\xc3\x86"
+#define char_oslash "\xc3\xb8"
+#define char_Oslash "\xc3\x98"
+
const char *myrec[] = {
- "<gils>\n<title>My title</title>\n</gils>\n",
- "<gils>\n<title>My x title</title>\n</gils>\n",
- "<gils>\n<title>My title x</title>\n</gils>\n" ,
+ "<gils>\n<title>My computer</title>\n</gils>\n",
+ "<gils>\n<title>My x computer</title>\n</gils>\n",
+ "<gils>\n<title>My computer x</title>\n</gils>\n" ,
+
+ "<gils>\n<title>" char_ae "</title>\n</gils>\n" ,
0} ;
static void tst(int argc, char **argv)
{
+#if YAZ_HAVE_ICU
ZebraService zs = tl_start_up("zebra17.cfg", argc, argv);
ZebraHandle zh = zebra_open(zs, 0);
/* simple term */
YAZ_CHECK(tl_query(zh, "@attr 1=title notfound", 0));
- /* we should get 3 hits. But 0 for now */
-#if 0
+ YAZ_CHECK(tl_query(zh, "@attr 1=title computer", 3));
+
+ YAZ_CHECK(tl_query(zh, "@attr 1=title .computer.", 3));
+
+ YAZ_CHECK(tl_query(zh, "@attr 1=title x", 2));
+
+ YAZ_CHECK(tl_query(zh, "@attr 1=title my", 3));
- YAZ_CHECK(tl_query(zh, "@attr 1=title title", 3));
-#else
- YAZ_CHECK(tl_query(zh, "@attr 1=title title", 0));
+ YAZ_CHECK(tl_query(zh, "@attr 1=title mY", 3));
+
+ YAZ_CHECK(tl_query(zh, char_ae, 1));
+#if 0
+ YAZ_CHECK(tl_query(zh, char_AE, 1));
#endif
-
+ /* phrase search */
+ YAZ_CHECK(tl_query(zh, "@attr 1=title {my computer}", 2));
+ YAZ_CHECK(tl_query(zh, "@attr 1=title @attr 6=1 {my computer}", 2));
+ YAZ_CHECK(tl_query(zh, "@attr 1=title {computer x}", 1));
+
+ /* complete-subfield search */
+ YAZ_CHECK(tl_query(zh, "@attr 1=title @attr 6=2 {my computer}", 1));
+ YAZ_CHECK(tl_query(zh, "@attr 1=title @attr 6=2 {my}", 0));
+
+ /* scan */
+
YAZ_CHECK(tl_close_down(zh, zs));
+#endif
}
TL_MAIN