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;