Added tests for pql2cql using relation and truncation.
[yaz-moved-to-github.git] / test / tstxmlquery.c
index 8f0e13b..8164d80 100644 (file)
@@ -1,8 +1,6 @@
-/*
- * Copyright (C) 1995-2005, Index Data ApS
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2009 Index Data
  * See the file LICENSE for details.
- *
- * $Id: tstxmlquery.c,v 1.11 2006-07-06 10:17:55 adam Exp $
  */
 
 #include <stdlib.h>
@@ -78,14 +76,14 @@ enum pqf2xml_status pqf2xml_text(const char *pqf, const char *expect_xml,
                 {
                     WRBUF w = wrbuf_alloc();
                     yaz_query_to_wrbuf(w, query2);
-                    if (!expect_pqf || strcmp(expect_pqf, wrbuf_buf(w)) == 0)
+                    if (!expect_pqf || strcmp(expect_pqf, wrbuf_cstr(w)) == 0)
                         status = XML_MATCH;
                     else
                     {
                         status = XML_NO_MATCH;
-                        printf("Result: %s\n", wrbuf_buf(w));
+                        printf("Result: %s\n", wrbuf_cstr(w));
                     }
-                    wrbuf_free(w, 1);
+                    wrbuf_destroy(w);
                 }
                 odr_destroy(odr2);
             }
@@ -95,6 +93,7 @@ enum pqf2xml_status pqf2xml_text(const char *pqf, const char *expect_xml,
                 status = XML_NO_MATCH;
             }
             xmlFreeDoc(doc);
+            xmlFree(buf_out);
         }
 #else
         status = QUERY2XML_FAILED;
@@ -104,7 +103,7 @@ enum pqf2xml_status pqf2xml_text(const char *pqf, const char *expect_xml,
     return status;
 }
 
-static void tst()
+static void tst(void)
 {
     YAZ_CHECK_EQ(pqf2xml_text("@attr 1=4 bad query", "", 0), PQF_FAILED);
 #if YAZ_HAVE_XML2
@@ -115,7 +114,7 @@ static void tst()
                      "<apt><attr type=\"1\" value=\"4\"/>"
                      "<term type=\"general\">computer</term></apt>"
                      "</rpn></query>\n",
-                     "RPN: @attrset Bib-1 @attr 1=4 computer"
+                     "RPN @attrset Bib-1 @attr 1=4 computer"
                      ), XML_MATCH);
     
     YAZ_CHECK_EQ(pqf2xml_text(
@@ -126,7 +125,7 @@ static void tst()
                      "<attr type=\"2\" value=\"1\"/>"
                      "<term type=\"general\">computer</term></apt>"
                      "</rpn></query>\n",
-                     "RPN: @attrset Bib-1 @attr \"1=title\" @attr 2=1 computer"
+                     "RPN @attrset Bib-1 @attr \"1=title\" @attr 2=1 computer"
                      ), XML_MATCH);
 
     YAZ_CHECK_EQ(pqf2xml_text(
@@ -137,7 +136,7 @@ static void tst()
                      "<attr type=\"2\" value=\"1\"/>"
                      "<term type=\"general\">computer</term></apt>"
                      "</rpn></query>\n",
-                     "RPN: @attrset Bib-1 @attr Exp-1 1=1 @attr 2=1 computer"
+                     "RPN @attrset Bib-1 @attr Exp-1 1=1 @attr 2=1 computer"
                      ), XML_MATCH);
     
     YAZ_CHECK_EQ(pqf2xml_text(
@@ -148,7 +147,7 @@ static void tst()
                      "<apt><term type=\"general\">a</term></apt>"
                      "<apt><term type=\"general\">b</term></apt>"
                      "</operator></rpn></query>\n",
-                     "RPN: @attrset Bib-1 @and a b"
+                     "RPN @attrset Bib-1 @and a b"
                      ), XML_MATCH);
     
     YAZ_CHECK_EQ(pqf2xml_text(
@@ -161,7 +160,7 @@ static void tst()
                      "<apt><term type=\"general\">b</term></apt></operator>"
                      "<apt><term type=\"general\">c</term></apt>"
                      "</operator></rpn></query>\n",
-                     "RPN: @attrset Bib-1 @or @and a b c"
+                     "RPN @attrset Bib-1 @or @and a b c"
                      ), XML_MATCH);
 
     YAZ_CHECK_EQ(pqf2xml_text(
@@ -169,7 +168,7 @@ static void tst()
                      "<?xml version=\"1.0\"?>\n"
                      "<query><rpn set=\"Bib-1\">"
                      "<rset>abe</rset></rpn></query>\n",
-                     "RPN: @attrset Bib-1 @set abe"
+                     "RPN @attrset Bib-1 @set abe"
                      ), XML_MATCH);
 
     YAZ_CHECK_EQ(pqf2xml_text(
@@ -186,7 +185,7 @@ static void tst()
                      "<apt><term type=\"general\">a</term></apt>"
                      "<apt><term type=\"general\">b</term></apt>"
                      "</operator></rpn></query>\n",
-                     "RPN: @attrset Bib-1 @prox 0 3 1 2 k 2 a b"
+                     "RPN @attrset Bib-1 @prox 0 3 1 2 k 2 a b"
                      ), XML_MATCH);
 
     YAZ_CHECK_EQ(pqf2xml_text(
@@ -196,7 +195,7 @@ static void tst()
                      "<apt>"
                      "<term type=\"numeric\">32</term></apt>"
                      "</rpn></query>\n",
-                     "RPN: @attrset Bib-1 @term numeric 32"
+                     "RPN @attrset Bib-1 @term numeric 32"
                      ), XML_MATCH);
     
     YAZ_CHECK_EQ(pqf2xml_text(
@@ -206,7 +205,7 @@ static void tst()
                      "<apt>"
                      "<term type=\"string\">computer</term></apt>"
                      "</rpn></query>\n",
-                     "RPN: @attrset Bib-1 @term string computer"
+                     "RPN @attrset Bib-1 @term string computer"
                      ), XML_MATCH);
     
     YAZ_CHECK_EQ(pqf2xml_text(
@@ -216,7 +215,7 @@ static void tst()
                      "<apt>"
                      "<term type=\"null\"/></apt>"
                      "</rpn></query>\n",
-                     "RPN: @attrset Bib-1 @term null x"
+                     "RPN @attrset Bib-1 @term null x"
                      ), XML_MATCH);
 
     YAZ_CHECK_EQ(pqf2xml_text(
@@ -227,7 +226,7 @@ static void tst()
                      "<attr type=\"4\" value=\"2\"/>"
                      "<term type=\"general\">x</term></apt>"
                      "</rpn></query>\n",
-                     "RPN: @attrset GILS @attr 4=2 x"
+                     "RPN @attrset GILS @attr 4=2 x"
                      ), XML_MATCH);
 #endif
 }
@@ -242,6 +241,7 @@ int main (int argc, char **argv)
 /*
  * Local variables:
  * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
  * indent-tabs-mode: nil
  * End:
  * vim: shiftwidth=4 tabstop=8 expandtab