X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftstccl.c;h=daf2fb65038005b3d927ee737000f373da50284b;hp=32c03290cf1448d5184108b1d7c042190e2dba73;hb=ee6ab2ee3a9ee1a8c65d7272ec7fba1d886f5af0;hpb=8d691989077a0addcbd840d769dce6700f3d9622 diff --git a/test/tstccl.c b/test/tstccl.c index 32c0329..daf2fb6 100644 --- a/test/tstccl.c +++ b/test/tstccl.c @@ -1,14 +1,12 @@ -/* - * Copyright (C) 1995-2007, Index Data ApS +/* This file is part of the YAZ toolkit. + * Copyright (C) 1995-2008 Index Data * See the file LICENSE for details. - * - * $Id: tstccl.c,v 1.12 2007-01-03 08:42:16 adam Exp $ */ /* CCL test */ #include -#include +#include #include @@ -16,19 +14,14 @@ static int tst_ccl_query(CCL_bibset bibset, const char *query, const char *result) { - CCL_parser parser = ccl_parser_create(); + CCL_parser parser = ccl_parser_create(bibset); int ret = 0; if (parser && bibset) { - struct ccl_token *token_list; struct ccl_rpn_node *rpn; - parser->bibset = bibset; - - token_list = ccl_parser_tokenize(parser, query); - rpn = ccl_parser_find(parser, token_list); - ccl_token_del(token_list); + rpn = ccl_parser_find_str(parser, query); if (rpn) { /* parse ok. check that result is there and match */ @@ -36,12 +29,12 @@ static int tst_ccl_query(CCL_bibset bibset, ccl_pquery(wrbuf, rpn); /* check expect a result and that it matches */ - if (result && !strcmp(wrbuf_buf(wrbuf), result)) + if (result && !strcmp(wrbuf_cstr(wrbuf), result)) ret = 1; else ret = 0; ccl_rpn_delete(rpn); - wrbuf_free(wrbuf, 1); + wrbuf_destroy(wrbuf); } else { @@ -98,6 +91,47 @@ void tst1(int pass) "x r=o\n" ); break; + case 3: +#if YAZ_HAVE_XML2 + if (1) + { + xmlDocPtr doc; + int r; + const char *addinfo = 0; + const char *xml_str = + "\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + "\n"; + + doc = xmlParseMemory(xml_str, strlen(xml_str)); + YAZ_CHECK(doc); + + r = ccl_xml_config(bibset, xmlDocGetRootElement(doc), &addinfo); + YAZ_CHECK_EQ(r, 0); + + xmlFreeDoc(doc); + } + break; +#else + return; +#endif default: YAZ_CHECK(0); return; @@ -169,9 +203,11 @@ void tst1(int pass) int main(int argc, char **argv) { YAZ_CHECK_INIT(argc, argv); + YAZ_CHECK_LOG(); tst1(0); tst1(1); tst1(2); + tst1(3); YAZ_CHECK_TERM; } /*