Report 'too many characters in search..'
[idzebra-moved-to-github.git] / test / api / test_search.c
index 423f76c..51b405e 100644 (file)
@@ -59,6 +59,17 @@ const char *myrec[] = {
         " <date>2107-09-19 00:00:00</date>\n"
         "</test_search>\n"
         ,
+        "<gils>\n"
+        "<title>"
+        "1234567890" "1234567890""1234567890""1234567890""1234567890"
+        "1234567890" "1234567890""1234567890""1234567890""1234567890"
+        "1234567890" "1234567890""1234567890""1234567890""1234567890"
+        "1234567890" "1234567890""1234567890""1234567890""1234567890"
+        "1234567890" "1234567890""1234567890""1234567890""1234567890"
+        "12345"
+        "</title>"
+        "</gils>"
+        ,
        0} ;
        
 static void tst(int argc, char **argv)
@@ -157,14 +168,36 @@ static void tst(int argc, char **argv)
 
     /* 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));
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=1 my", 1));
 
     /* 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=2 my", 4));
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=2 mn", 1));
 
     /* = */
     YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=3 my", 3));
+    YAZ_CHECK(
+        tl_query(zh, 
+                 "@attr 1=4 @attr 2=3 "
+                 "1234567890" "1234567890""1234567890""1234567890""1234567890"
+                 "1234567890" "1234567890""1234567890""1234567890""1234567890"
+                 "1234567890" "1234567890""1234567890""1234567890""1234567890"
+                 "1234567890" "1234567890""1234567890""1234567890""1234567890"
+                 "1234567890" "1234567890""1234567890""1234567890""1234567890"
+                 "12345"
+                 , 1));
+    
+    YAZ_CHECK(
+        tl_query_x(zh, 
+                   "@attr 1=4 @attr 2=3 "
+                   "1234567890" "1234567890""1234567890""1234567890""1234567890"
+                   "1234567890" "1234567890""1234567890""1234567890""1234567890"
+                   "1234567890" "1234567890""1234567890""1234567890""1234567890"
+                   "1234567890" "1234567890""1234567890""1234567890""1234567890"
+                   "1234567890" "1234567890""1234567890""1234567890""1234567890"
+                   "123456"
+                   , 0, 11));
+    
 
     /* string relations, >= */
     YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=4 x", 2));
@@ -177,8 +210,8 @@ static void tst(int argc, char **argv)
     YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=5 title", 2));
 
     /* always-matches relation */
-    YAZ_CHECK(tl_query(zh, "@attr 1=_ALLRECORDS @attr 2=103 {ym}", 5));
-    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=103 {x my}", 4));
+    YAZ_CHECK(tl_query(zh, "@attr 1=_ALLRECORDS @attr 2=103 {ym}", 6));
+    YAZ_CHECK(tl_query(zh, "@attr 1=4 @attr 2=103 {x my}", 5));
     YAZ_CHECK(tl_query_x(zh, "@attr 1=1 @attr 2=103 {x my}", 0, 114));
 
     /* and searches */