ICU functional for scan and snippets.
[idzebra-moved-to-github.git] / test / api / t17.c
index 6f2a312..b945f3d 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: t17.c,v 1.3 2007-11-08 07:54:17 adam Exp $
+/* $Id: t17.c,v 1.9 2007-12-13 11:09:20 adam Exp $
    Copyright (C) 1995-2007
    Index Data ApS
 
@@ -26,15 +26,22 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #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 HAVE_ICU
+#if YAZ_HAVE_ICU
     ZebraService zs = tl_start_up("zebra17.cfg", argc, argv);
     ZebraHandle zh = zebra_open(zs, 0);
 
@@ -43,14 +50,32 @@ static void tst(int argc, char **argv)
     /* simple term */
     YAZ_CHECK(tl_query(zh, "@attr 1=title notfound", 0));
 
-    /* we should get 3 hits. But 0 for now */
-#if 1
-    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 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 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
 }