CCL: new utility ccl_qual_dup
[yaz-moved-to-github.git] / test / test_ccl.c
index 9ebebad..ae413ea 100644 (file)
@@ -1,9 +1,10 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
+ * Copyright (C) 1995-2011 Index Data
  * See the file LICENSE for details.
  */
-
-/* CCL test */
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
 
 #include <string.h>
 #include <yaz/ccl_xml.h>
@@ -66,6 +67,13 @@ void tst1(int pass)
     if (!bibset)
         return;
 
+    if (pass == 1)
+    {
+        CCL_bibset nbibset = ccl_qual_dup(bibset);
+        ccl_qual_rm(&bibset);
+        bibset = nbibset;
+    }
+
     switch(pass)
     {
     case 0:
@@ -165,6 +173,11 @@ void tst1(int pass)
     }
     
     YAZ_CHECK(tst_ccl_query(bibset, "x1", "@attr 4=2 @attr 1=1016 x1 "));
+
+    YAZ_CHECK(tst_ccl_query(bibset, "k\xc3\xb8" "benhavn", "@attr 4=2 @attr 1=1016 k\xc3\xb8" "benhavn "));
+
+    YAZ_CHECK(tst_ccl_query(bibset, "k\xf8" "benhavn", "@attr 4=2 @attr 1=1016 ""k\xf8" "benhavn "));
+
     YAZ_CHECK(tst_ccl_query(bibset, "(((((x1)))))", "@attr 4=2 @attr 1=1016 x1 "));
     YAZ_CHECK(tst_ccl_query(bibset, "x1 and x2",
                   "@and "