X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fxpath%2Fxpath1.c;h=b582e74dda70be65bff84d8cb3c0bfd7b692ee61;hb=85ad68ab178a261dc548284ee68aae9107cbfaaf;hp=2c8621395823e1a2aa487623aa38fd1e3a0761c9;hpb=74fdf8a15af7bb827a256d9df3ecc34a57d2120f;p=idzebra-moved-to-github.git diff --git a/test/xpath/xpath1.c b/test/xpath/xpath1.c index 2c86213..b582e74 100644 --- a/test/xpath/xpath1.c +++ b/test/xpath/xpath1.c @@ -1,8 +1,5 @@ -/* $Id: xpath1.c,v 1.5 2006-03-31 15:58:10 adam Exp $ - Copyright (C) 1995-2005 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 1994-2011 Index Data Zebra is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -15,11 +12,14 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +#if HAVE_CONFIG_H +#include +#endif #include "../api/testlib.h" /** xpath1.c - index a simple sgml record and search in it */ @@ -31,8 +31,8 @@ static void tst(int argc, char **argv) const char *myrec[] = { " \n" " before \n" - " \n" - " inside \n" + " \n" + " inside it\n" " \n" " after \n" " \n", @@ -44,6 +44,7 @@ static void tst(int argc, char **argv) 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)); YAZ_CHECK(tl_query(zh, "@attr 1=/sgml/none after", 0)); @@ -53,7 +54,31 @@ static void tst(int argc, char **argv) YAZ_CHECK(tl_query(zh, "@attr 1=/sgml inside", 1)); YAZ_CHECK(tl_query(zh, "@attr 1=/sgml after", 1)); + 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 + * c-file-style: "Stroustrup" + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +