X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fxpath%2Fxpath1.c;h=a45e8bd28208312c401bdbae00c4c5a6684315b9;hb=899c6e872ce56a69bca11f9f0f2ca3147d0be852;hp=434d715380795724a4330f73aad9a8f9f6410769;hpb=a34c87ac6c08ec62534e4068a5bd1fac93df8abe;p=idzebra-moved-to-github.git diff --git a/test/xpath/xpath1.c b/test/xpath/xpath1.c index 434d715..a45e8bd 100644 --- a/test/xpath/xpath1.c +++ b/test/xpath/xpath1.c @@ -1,6 +1,6 @@ -/* $Id: xpath1.c,v 1.1 2004-12-02 14:05:04 adam Exp $ - Copyright (C) 2003,2004 - Index Data Aps +/* $Id: xpath1.c,v 1.7 2006-06-22 15:07:21 adam Exp $ + Copyright (C) 1995-2005 + Index Data ApS This file is part of the Zebra server. @@ -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("zebraxpath.cfg", argc, argv); - zh = zebra_open(zs); - init_data(zh, myrec); + zs = tl_start_up(0, argc, argv); + zh = zebra_open(zs, 0); + 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 + */ +