X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fxpath%2Fxpath1.c;h=a45e8bd28208312c401bdbae00c4c5a6684315b9;hb=6684933a7dbf61609c4c4a1db1ebb8d80169ad05;hp=4a40070b839ec629562dfdba5be7476c97df6829;hpb=3d3d0cebd23fa527a7e9d5d728e3c744acb37580;p=idzebra-moved-to-github.git diff --git a/test/xpath/xpath1.c b/test/xpath/xpath1.c index 4a40070..a45e8bd 100644 --- a/test/xpath/xpath1.c +++ b/test/xpath/xpath1.c @@ -1,4 +1,4 @@ -/* $Id: xpath1.c,v 1.4 2005-09-13 11:51:10 adam Exp $ +/* $Id: xpath1.c,v 1.7 2006-06-22 15:07:21 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -24,34 +24,60 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA /** xpath1.c - index a simple sgml record and search in it */ -int main(int argc, char **argv) +static void tst(int argc, char **argv) { ZebraService zs; ZebraHandle zh; const char *myrec[] = { " \n" " before \n" - " \n" - " inside \n" + " \n" + " inside it\n" " \n" " after \n" " \n", 0}; - zs = start_up(0, argc, argv); + zs = tl_start_up(0, argc, argv); zh = zebra_open(zs, 0); - init_data(zh, myrec); + YAZ_CHECK(tl_init_data(zh, myrec)); - do_query(__LINE__,zh, "@attr 1=/sgml/tag before", 0); - do_query(__LINE__,zh, "@attr 1=/sgml/tag inside", 1); - do_query(__LINE__,zh, "@attr 1=/sgml/tag after", 0); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/tag before", 0)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/tag inside", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/tag {inside it}", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/tag after", 0)); - do_query(__LINE__,zh, "@attr 1=/sgml/none after", 0); - do_query(__LINE__,zh, "@attr 1=/sgml/none inside", 0); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/none after", 0)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/none inside", 0)); - do_query(__LINE__,zh, "@attr 1=/sgml before", 1); - do_query(__LINE__,zh, "@attr 1=/sgml inside", 1); - do_query(__LINE__,zh, "@attr 1=/sgml after", 1); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml before", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml inside", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml after", 1)); - return close_down(zh, zs, 0); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/tag/@x v", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/tag/@x no", 0)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/tag/@y v", 0)); + + YAZ_CHECK(tl_query(zh, "@attr 1=_XPATH_BEGIN @attr 4=3 tag/sgml/", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=_XPATH_BEGIN @attr 4=3 sgml/", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=_XPATH_BEGIN @attr 4=3 tag/", 0)); + + /* bug #617 */ + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/tag @attr 2=103 dummy", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml @attr 2=103 dummy", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=/tag @attr 2=103 dummy", 0)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/tag/@x @attr 2=103 dummy", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/tag/@y @attr 2=103 dummy", 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 + */ +