CQL: fix extra terms in wrong order
[yaz-moved-to-github.git] / test / test_cql2ccl.c
index e2f9b5f..c050f7e 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2011 Index Data
+ * Copyright (C) 1995-2012 Index Data
  * See the file LICENSE for details.
  */
 #if HAVE_CONFIG_H
@@ -36,7 +36,7 @@ static int tst_query_s(const char *cql, const char *expected_ccl,
             if (!r)
             {
                 ret = 0;
-                yaz_log(YLOG_WARN, "cql: diff %s", cql);
+                yaz_log(YLOG_WARN, "cql: diff: %s", cql);
                 yaz_log(YLOG_WARN, " exp error");
                 yaz_log(YLOG_WARN, " got ccl %s", wrbuf_cstr(w));
             }
@@ -137,6 +137,12 @@ static void tst(void)
     YAZ_CHECK(tst_query("title any x", "title=\"x\""));
     YAZ_CHECK(tst_query("title any x y", "title=\"x\" or title=\"y\""));
     YAZ_CHECK(tst_query("title any \"x y\"", "title=\"x\" or title=\"y\""));
+
+    YAZ_CHECK(tst_query("title = \"x y\"", "title=\"x y\""));
+    YAZ_CHECK(tst_query("title = x y", "title=\"x\" \"y\""));
+
+    YAZ_CHECK(tst_query("title = x y z",  "title=\"x\" \"y\" \"z\""));
+
     YAZ_CHECK(tst_query("dc.title=encyclopedia prox dinosaurs",
                         "(dc.title=\"encyclopedia\") % (\"dinosaurs\")"));
     YAZ_CHECK(tst_query("dc.title=encyclopedia prox/distance<=3 dinosaurs",
@@ -174,6 +180,8 @@ static void tst(void)
                           "title,,1,0,lowValue"));
     YAZ_CHECK(tst_query_s("a sortby title/missingHigh", "\"a\"",
                           "title,,1,0,highValue"));
+    YAZ_CHECK(tst_query_s("a sortby title/sort.missingHigh", "\"a\"",
+                          "title,,1,0,highValue"));
     YAZ_CHECK(tst_query_s("a sortby title/bogus", "\"a\"", 0));
 
     YAZ_CHECK(tst_query_s("a sortby dc.year dc.author", "\"a\"",