X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=test%2Fxslt%2Fdom1.c;h=24745054eb0d2c79caa17f9ea9cb47d1325398f8;hp=b01015c4a735b3fab7f6ee053de9c601a1f72289;hb=e2e073b5c947e996304ed7d577497af5e9a879ee;hpb=9982694ca69efc2bf4db54cd5b5607e3680cd32a diff --git a/test/xslt/dom1.c b/test/xslt/dom1.c index b01015c..2474505 100644 --- a/test/xslt/dom1.c +++ b/test/xslt/dom1.c @@ -1,8 +1,5 @@ -/* $Id: dom1.c,v 1.3 2007-03-14 14:16:14 adam Exp $ - Copyright (C) 1995-2007 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 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 @@ -20,6 +17,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#if HAVE_CONFIG_H +#include +#endif #include #include "testlib.h" @@ -29,7 +29,7 @@ void index_more(ZebraHandle zh, const char *filter, const char *file) char path[256]; char profile_path[256]; - sprintf(profile_path, "%.80s:%.80s/../../tab", + sprintf(profile_path, "%.80s:%.80s/../../tab", tl_get_srcdir(), tl_get_srcdir()); zebra_set_resource(zh, "profilePath", profile_path); @@ -61,22 +61,43 @@ ZebraHandle index_some(ZebraService zs, void tst(int argc, char **argv) { ZebraHandle zh; - + ZebraService zs = tl_start_up(0, argc, argv); zh = index_some(zs, "dom.bad.xml", "marc-col.xml"); zebra_close(zh); - - /* testing XMLREADER input with PI stylesheet */ + + /* testing XMLREADER input with PI stylesheet */ zh = index_some(zs, "dom.dom-config-col.xml", "marc-col.xml"); YAZ_CHECK(tl_query(zh, "@attr 1=title computer", 3)); + + /* fetch first using dom-brief.xsl */ + YAZ_CHECK_EQ(tl_fetch_first_compare( + zh, "B", yaz_oid_recsyn_xml, + "\n" + "How to program a computer\n"), + ZEBRA_OK); + /* fetch first using dom-snippets.xsl */ + YAZ_CHECK_EQ(tl_fetch_first_compare( + zh, "snippet", yaz_oid_recsyn_xml, + "\n" + "\n" + " \n" + " How to program a computer\n" + "\n" + " How to program a computer\n" + "\n"), + ZEBRA_OK); + YAZ_CHECK(tl_query(zh, "@attr 1=control 11224466", 1)); + YAZ_CHECK(tl_query_x(zh, "@attr 1=titl computer", 0, 114)); YAZ_CHECK(tl_query_x(zh, "@attr 1=4 computer", 0, 121)); zebra_close(zh); - /* testing XMLREADER input with ELEMENT stylesheet */ + + /* testing XMLREADER input with ELEMENT stylesheet */ zh = index_some(zs, "dom.dom-config-one.xml", "marc-one.xml"); YAZ_CHECK(tl_query(zh, "@attr 1=title computer", 1)); YAZ_CHECK(tl_query(zh, "@attr 1=control 11224466", 1)); @@ -84,7 +105,7 @@ void tst(int argc, char **argv) YAZ_CHECK(tl_query_x(zh, "@attr 1=4 computer", 0, 121)); zebra_close(zh); - /* testing MARC input with ELEMENT stylesheet */ + /* testing MARC input with ELEMENT stylesheet */ zh = index_some(zs, "dom.dom-config-marc.xml", "marc-col.mrc"); YAZ_CHECK(tl_query(zh, "@attr 1=title computer", 3)); YAZ_CHECK(tl_query(zh, "@attr 1=control 11224466", 1)); @@ -92,14 +113,14 @@ void tst(int argc, char **argv) YAZ_CHECK(tl_query_x(zh, "@attr 1=4 computer", 0, 121)); zebra_close(zh); - /* testing XMLREADER input with ELEMENT stylesheet and skipped records */ + /* testing XMLREADER input with ELEMENT stylesheet and skipped records */ zh = index_some(zs, "dom.dom-config-skipped.xml", "marc-col.xml"); YAZ_CHECK(tl_query(zh, "@attr 1=title computer", 1)); YAZ_CHECK(tl_query(zh, "@attr 1=control 11224466", 0)); YAZ_CHECK(tl_query(zh, "@attr 1=control 11224467", 1)); YAZ_CHECK(tl_query(zh, "@attr 1=control 73090924", 0)); - /* testing XMLREADER input with type attributes (insert,delete,..) */ + /* testing XMLREADER input with type attributes (insert,delete,..) */ zh = index_some(zs, "dom.dom-config-del.xml", "del-col.xml"); YAZ_CHECK(tl_query(zh, "@attr 1=title a", 1)); YAZ_CHECK(tl_query(zh, "@attr 1=title 1", 0)); @@ -107,8 +128,26 @@ void tst(int argc, char **argv) YAZ_CHECK(tl_query(zh, "@attr 1=title 3", 1)); YAZ_CHECK(tl_query(zh, "@attr 1=title b", 1)); + zh = index_some(zs, "dom.gutenberg.xml", "gutenberg-sample.xml"); + YAZ_CHECK(tl_query(zh, "oscar", 1)); + + YAZ_CHECK_EQ(tl_fetch_first_compare( + zh, "zebra::snippet", yaz_oid_recsyn_xml, + "\n" + " " + "Selected Prose of Oscar Wilde" + "\n" + " " + "Wilde, Oscar, 1854-1900" + "\n" + ""), + ZEBRA_OK); + zebra_close(zh); + /* testing indexing of bad UTF-8 encoded MARC record */ + zh = index_some(zs, "dom.dom-config-utf8.xml", "bad-utf8.mrc"); + zebra_close(zh); YAZ_CHECK(tl_close_down(0, zs)); } @@ -118,6 +157,7 @@ TL_MAIN /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab