X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fxslt%2Fxslt3.c;h=64e1a94574b5c2ffd1163ea992f1013722b884c1;hb=4494cb5dd6d79d72f15c41af16833cc373044a36;hp=0fb1405ad82e04b1bf13bfac5949efb96706e49d;hpb=1d1083ab048f9f1000f0bf11225be23a6730cb06;p=idzebra-moved-to-github.git diff --git a/test/xslt/xslt3.c b/test/xslt/xslt3.c index 0fb1405..64e1a94 100644 --- a/test/xslt/xslt3.c +++ b/test/xslt/xslt3.c @@ -1,4 +1,4 @@ -/* $Id: xslt3.c,v 1.2 2005-05-31 14:18:17 adam Exp $ +/* $Id: xslt3.c,v 1.9 2006-05-31 16:11:58 marc Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -23,9 +23,10 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include "testlib.h" -int main(int argc, char **argv) +static void tst(int argc, char **argv) { char path[256]; + char profile_path[256]; char record_buf[20000]; const char *records_array[] = { record_buf, 0 @@ -33,18 +34,22 @@ int main(int argc, char **argv) FILE *f; size_t r; - ZebraService zs = start_up(0, argc, argv); - ZebraHandle zh = zebra_open(zs); + ZebraService zs = tl_start_up(0, argc, argv); + ZebraHandle zh = zebra_open(zs, 0); - check_filter(zs, "xslt"); + tl_check_filter(zs, "alvis"); - zebra_select_database(zh, "Default"); + YAZ_CHECK(zebra_select_database(zh, "Default") == ZEBRA_OK); zebra_init(zh); - zebra_set_resource(zh, "recordType", "xslt.marcschema.xml"); + sprintf(profile_path, "%s:%s/../../tab", + tl_get_srcdir(), tl_get_srcdir()); + zebra_set_resource(zh, "profilePath", profile_path); - sprintf(path, "%.200s/marc-one.xml", get_srcdir()); + zebra_set_resource(zh, "recordType", "alvis.marcschema-one.xml"); + + sprintf(path, "%.200s/marc-one.xml", tl_get_srcdir()); f = fopen(path, "rb"); if (!f) { @@ -61,14 +66,34 @@ int main(int argc, char **argv) record_buf[r] = '\0'; - /* for now only the first of the records in the collection is - indexed. That can be seen as a bug */ - init_data(zh, records_array); + /* index this one record */ + YAZ_CHECK(tl_init_data(zh, records_array)); + + /* only get hits from first record .. */ + YAZ_CHECK(tl_query(zh, "@attr 1=title computer", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=control 11224466", 1)); + YAZ_CHECK(tl_query_x(zh, "@attr 1=titl computer", 0, 114)); + + + /* index one more time to see that we don't get dups, since + index.xsl has a record ID associated with them */ + zebra_add_record(zh, record_buf, strlen(record_buf)); /* only get hits from first record .. */ - do_query(__LINE__, zh, "@attr 1=title computer", 1); - do_query(__LINE__, zh, "@attr 1=control 11224466", 1); - do_query_x(__LINE__, zh, "@attr 1=titl computer", 0, 121); + YAZ_CHECK(tl_query(zh, "@attr 1=title computer", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=control 11224466", 1)); + YAZ_CHECK(tl_query_x(zh, "@attr 1=titl computer", 0, 114)); - return close_down(zh, zs, 0); + YAZ_CHECK(tl_close_down(zh, zs)); } + +TL_MAIN + +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +