From 02db507fca5e995845c6e8e4e4b616017f4b9b4b Mon Sep 17 00:00:00 2001 From: gouache Date: Wed, 18 May 2011 02:29:59 +0000 Subject: [PATCH] Eina: add testcase for 'eina_simple_xml_parser' git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@59478 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/tests/Makefile.am | 3 +- src/tests/eina_suite.c | 1 + src/tests/eina_suite.h | 1 + src/tests/eina_test_simple_xml_parser.c | 72 +++++++++++++++++++++++++++++++++ src/tests/sample.gpx | 20 +++++++++ 5 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 src/tests/eina_test_simple_xml_parser.c create mode 100644 src/tests/sample.gpx diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am index 91935a8..80390de 100644 --- a/src/tests/Makefile.am +++ b/src/tests/Makefile.am @@ -62,7 +62,8 @@ eina_test_matrixsparse.c \ eina_test_tiler.c \ eina_test_strbuf.c \ eina_test_str.c \ -eina_test_quadtree.c +eina_test_quadtree.c \ +eina_test_simple_xml_parser.c eina_suite_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libeina.la -lm diff --git a/src/tests/eina_suite.c b/src/tests/eina_suite.c index 990c613..6ff859a 100644 --- a/src/tests/eina_suite.c +++ b/src/tests/eina_suite.c @@ -64,6 +64,7 @@ static const Eina_Test_Case etc[] = { { "Unicode String", eina_test_ustr }, { "QuadTree", eina_test_quadtree }, { "Sched", eina_test_sched }, + { "Simple Xml Parser", eina_test_simple_xml_parser}, { NULL, NULL } }; diff --git a/src/tests/eina_suite.h b/src/tests/eina_suite.h index 0c0da58..4ef1e83 100644 --- a/src/tests/eina_suite.h +++ b/src/tests/eina_suite.h @@ -52,5 +52,6 @@ void eina_test_ustr(TCase *tc); void eina_test_quadtree(TCase *tc); void eina_test_fp(TCase *tc); void eina_test_sched(TCase *tc); +void eina_test_simple_xml_parser(TCase *tc); #endif /* EINA_SUITE_H_ */ diff --git a/src/tests/eina_test_simple_xml_parser.c b/src/tests/eina_test_simple_xml_parser.c new file mode 100644 index 0000000..1a58175 --- /dev/null +++ b/src/tests/eina_test_simple_xml_parser.c @@ -0,0 +1,72 @@ +/* EINA - EFL data type library + * Copyright (C) 2008 Cedric Bail + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; + * if not, see . + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include + +#include "eina_suite.h" +#include "Eina.h" + +START_TEST(eina_simple_xml_parser_node_dump) +{ + FILE *f; + + f = fopen("sample.gpx", "rb"); + if (f) + { + long sz; + + fseek(f, 0, SEEK_END); + sz = ftell(f); + if (sz > 0) + { + char *buf; + + fseek(f, 0, SEEK_SET); + buf = malloc(sz); + if (buf) + { + if (fread(buf, 1, sz, f)) + { + Eina_Simple_XML_Node_Root *root = eina_simple_xml_node_load + (buf, sz, EINA_TRUE); + char *out = eina_simple_xml_node_dump(&root->base, " "); + puts(out); + free(out); + eina_simple_xml_node_root_free(root); + free(buf); + } + } + } + fclose(f); + } + + eina_shutdown(); +} +END_TEST + +void +eina_test_simple_xml_parser(TCase *tc) +{ + tcase_add_test(tc, eina_simple_xml_parser_node_dump); +} diff --git a/src/tests/sample.gpx b/src/tests/sample.gpx new file mode 100644 index 0000000..fca921d --- /dev/null +++ b/src/tests/sample.gpx @@ -0,0 +1,20 @@ + + + + + + OpenStreetMap routing service + + + + + + Route + + + + + + + + -- 2.7.4