X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Fnfaxmltest1.c;fp=test%2Fnfaxmltest1.c;h=b6cf6d5b17d37ce83b8b6177b5554708d5e8ac2a;hp=296dd97496a0f3a95177c53d38829b4102c21bfb;hb=5ed3b6561d90d13f64be7f9ae8beaf4a0b3f8e32;hpb=d1ff65fe4a7472a58a182d922c4a9729f0e17f9f diff --git a/test/nfaxmltest1.c b/test/nfaxmltest1.c index 296dd97..b6cf6d5 100644 --- a/test/nfaxmltest1.c +++ b/test/nfaxmltest1.c @@ -1,7 +1,7 @@ /* Copyright (C) 2006, Index Data ApS * See the file LICENSE for details. * - * $Id: nfaxmltest1.c,v 1.5 2006-07-07 07:14:30 adam Exp $ + * $Id: nfaxmltest1.c,v 1.6 2006-07-07 13:39:05 heikki Exp $ * */ @@ -19,35 +19,57 @@ /** \brief Test parsing of a minimal, valid xml string */ void test1() { - char *xmlstr=" " - " " - " foo " - " bar " - "" - ""; - yaz_nfa *nfa=yaz_nfa_parse_xml_memory(xmlstr); -#if 0 -/* doesn't parse */ - YAZ_CHECK(nfa); -#endif + char *xmlstr = " " + " " + " foo " + " bar " + "" + ""; + yaz_nfa *nfa = yaz_nfa_parse_xml_memory(xmlstr); + YAZ_CHECK_TODO(nfa); } - /** \brief Test parsing of a minimal, invalid xml string */ void test2() { yaz_nfa *nfa; - char *xmlstr=" " - " " - " foo " - " bar " - ""; + char *xmlstr = " " + " " + " foo " + " bar " + ""; /* missing "" */ yaz_log(YLOG_LOG,"Parsing bad xml, expecting errors:"); nfa = yaz_nfa_parse_xml_memory(xmlstr); YAZ_CHECK(!nfa); } +/** \brief Test parsing a few minimal xml files */ +void test3() { + char *goodfilenames[] = { + "nfaxml-simple.xml", + "nfaxml-main.xml", /* x-includes nfaxml-include */ + 0}; + char *badfilenames[] = { + "nfaxml-missing.xml", /* file not there at all */ + "nfaxml-badinclude.xml", /* bad xinclude in it */ + 0}; + yaz_nfa *nfa; + char **f = goodfilenames; + do { + yaz_log(YLOG_LOG,"Parsing (good) xml file '%s'", *f); + nfa=yaz_nfa_parse_xml_file(*f); + YAZ_CHECK_TODO(nfa); + } while (*++f); + + f = badfilenames; + do { + yaz_log(YLOG_LOG,"Parsing bad xml file '%s'. Expecting errors", *f); + nfa = yaz_nfa_parse_xml_file(*f); + YAZ_CHECK(!nfa); + } while (*++f); +} + int main(int argc, char **argv) { @@ -57,6 +79,7 @@ int main(int argc, char **argv) test1(); test2(); + test3(); nmem_exit (); YAZ_CHECK_TERM;