X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=test%2Fapi%2Ft16.c;h=608d51000a39ab4ebe67aaddd2b5932ec9708dd9;hb=53f50a1b1dd002ef484a41f50f3598386335cae1;hp=cf8dd176d1d4a29a68d0dd3e05a6c58e40b788fc;hpb=724e70cf7629655ad7ef628f1b42ced08cc372f1;p=idzebra-moved-to-github.git diff --git a/test/api/t16.c b/test/api/t16.c index cf8dd17..608d510 100644 --- a/test/api/t16.c +++ b/test/api/t16.c @@ -1,5 +1,5 @@ -/* $Id: t16.c,v 1.1 2006-11-16 12:48:28 adam Exp $ - Copyright (C) 1995-2006 +/* $Id: t16.c,v 1.12 2007-05-08 12:50:05 adam Exp $ + Copyright (C) 1995-2007 Index Data ApS This file is part of the Zebra server. @@ -33,7 +33,7 @@ const char *myrec[] = { #define NUMBER_TO_FETCH_MAX 1000 static ZEBRA_RES fetch_first(ZebraHandle zh, const char *element_set, - oid_value format, ODR odr, + const Odr_oid * format, ODR odr, const char **rec_buf, size_t *rec_len) { ZebraRetrievalRecord retrievalRecord[1]; @@ -61,10 +61,10 @@ static ZEBRA_RES fetch_first(ZebraHandle zh, const char *element_set, } static ZEBRA_RES fetch_first_compare(ZebraHandle zh, const char *element_set, - oid_value format, const char *cmp_rec) + const Odr_oid *format, const char *cmp_rec) { - const char *rec_buf; - size_t rec_len; + const char *rec_buf = 0; + size_t rec_len = 0; ODR odr = odr_createmem(ODR_ENCODE); ZEBRA_RES res = fetch_first(zh, element_set, format, odr, &rec_buf, &rec_len); @@ -85,6 +85,16 @@ static void tst(int argc, char **argv) { zint hits; ZEBRA_RES res; + const char * zebra_xml_sysno + = "\n"; + + const char * zebra_xml_meta + = "\n"; + + const char * zebra_xml_index_title_p + = "\n" +" my title\n" +"\n"; ZebraService zs = tl_start_up(0, argc, argv); ZebraHandle zh = zebra_open(zs, 0); @@ -95,12 +105,36 @@ static void tst(int argc, char **argv) YAZ_CHECK_EQ(res, ZEBRA_OK); YAZ_CHECK_EQ(hits, 1); - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::data", VAL_TEXT_XML, + YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::data", yaz_oid_recsyn_xml, + "mismatch"), ZEBRA_FAIL); + + YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::data", yaz_oid_recsyn_sutrs, myrec[0]), ZEBRA_OK); - YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::data", VAL_TEXT_XML, - "mismatch"), ZEBRA_FAIL); + YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::data", yaz_oid_recsyn_xml, + myrec[0]), ZEBRA_OK); + + YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::meta::sysno", + yaz_oid_recsyn_sutrs, + "2"), ZEBRA_OK); + YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::meta::sysno", + yaz_oid_recsyn_xml, + zebra_xml_sysno), ZEBRA_OK); + + YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::meta", yaz_oid_recsyn_xml, + zebra_xml_meta), ZEBRA_OK); + + YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::index::title:p", + yaz_oid_recsyn_xml, + zebra_xml_index_title_p), ZEBRA_OK); + + YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::nonexistent", + yaz_oid_recsyn_xml, ""), ZEBRA_OK); + + YAZ_CHECK_EQ(fetch_first_compare(zh, "zebra::index::nonexistent", + yaz_oid_recsyn_xml, ""), ZEBRA_OK); + YAZ_CHECK(tl_close_down(zh, zs)); }