Update for locale API changes.
[idzebra-moved-to-github.git] / test / api / t5.c
index 0df1734..9199b73 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: t5.c,v 1.21 2007-05-14 12:33:33 adam Exp $
+/* $Id: t5.c,v 1.23 2007-05-25 12:17:11 adam Exp $
    Copyright (C) 1995-2007
    Index Data ApS
 
@@ -104,6 +104,28 @@ static void tst(int argc, char **argv)
     YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 5=106 le", 0));
     YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 5=106 *le", 3));
 
+    /* string relations, < */
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=1 0", 0));
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=1 my", 0));
+
+    /* string relations, <= */
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=2 my", 3));
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=2 mn", 0));
+
+    /* = */
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=3 my", 3));
+
+    /* string relations, >= */
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=4 x", 2));
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=4 tu", 2));
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=4 title", 3));
+
+    /* string relations, > */
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=5 x", 0));
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=5 tu", 2));
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=5 title", 2));
+
+    
     /* and searches */
     YAZ_CHECK(tl_query(zh, "@and @attr 1=4 notfound @attr 1=4 x", 0)); 
     YAZ_CHECK(tl_query(zh, "@and @attr 1=4 x @attr 1=4 notfound", 0)); 
@@ -167,6 +189,18 @@ static void tst(int argc, char **argv)
     /* exl=1 distance=2 order=0 relation=3 (=), known, unit=word */
     YAZ_CHECK(tl_query(zh, "@attr 1=4 @prox 1 2 1 3 k 2 my x", 1));
 
+    /* Non-indexed numeric use, but specified in bib1.att (bug #1142) */
+    YAZ_CHECK(tl_query_x(zh, "@attr 1=1000 x", 0, 114));
+    YAZ_CHECK(tl_query_x(zh, "@attr 1=1000 @attr 14=0 x", 0, 114));
+    YAZ_CHECK(tl_query_x(zh, "@attr 1=1000 @attr 14=1 x", 0, 0));
+    /* Non-indexed numeric use and unspecified in bib1.att */
+    YAZ_CHECK(tl_query_x(zh, "@attr 1=999 x", 0, 114));
+    YAZ_CHECK(tl_query_x(zh, "@attr 1=999 @attr 14=1 x", 0, 114));
+    /* Non-indexed string use attribute */
+    YAZ_CHECK(tl_query_x(zh, "@attr 1=gyf  x", 0, 114));
+    YAZ_CHECK(tl_query_x(zh, "@attr 1=gyf @attr 14=0 x", 0, 114));
+    YAZ_CHECK(tl_query_x(zh, "@attr 1=gyf @attr 14=1 x", 0, 0));
+
     /* provoke unsupported use attribute */
     YAZ_CHECK(tl_query_x(zh, "@attr 1=999 @attr 4=1 x", 0, 114));
     YAZ_CHECK(tl_query_x(zh, "@attr 1=999 @attr 4=6 x", 0, 114));