From: Rémi Denis-Courmont Date: Sun, 26 Oct 2008 16:00:30 +0000 (+0200) Subject: Test case for resolve_xml_special_chars X-Git-Tag: 1.0.0-pre1~2322 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=cc23bbdc45f1df1d793d85bcffa08472b20c11f1;p=vlc Test case for resolve_xml_special_chars --- diff --git a/src/test/Makefile.am b/src/test/Makefile.am index 52f55df2ba..31df537551 100644 --- a/src/test/Makefile.am +++ b/src/test/Makefile.am @@ -6,6 +6,7 @@ check_PROGRAMS = \ test_i18n_atof \ test_url \ test_utf8 \ + test_xmlent \ test_headers TESTS = $(check_PROGRAMS) @@ -19,5 +20,5 @@ test_dictionary_SOURCES = dictionary.c test_i18n_atof_SOURCES = i18n_atof.c test_url_SOURCES = url.c test_utf8_SOURCES = utf8.c +test_xmlent_SOURCES = xmlent.c test_headers_SOURCES = headers.c - diff --git a/src/test/xmlent.c b/src/test/xmlent.c new file mode 100644 index 0000000000..acba7180eb --- /dev/null +++ b/src/test/xmlent.c @@ -0,0 +1,63 @@ +/***************************************************************************** + * xmlent.c: Test for XML entities + ***************************************************************************** + * Copyright (C) 2006, 2008 Rémi Denis-Courmont + * + * This program 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 Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include + +#include +#include + +static void decode (const char *in, const char *out) +{ + char buf[strlen (in) + 1]; + + printf ("\"%s\" -> \"%s\" ?\n", in, out); + strcpy (buf, in); + resolve_xml_special_chars (buf); + + if (strcmp (buf, out)) + { + printf (" ERROR: got \"%s\"\n", buf); + exit (2); + } +} + +int main (void) +{ + (void)setvbuf (stdout, NULL, _IONBF, 0); + decode ("This should not be modified 1234", + "This should not be modified 1234"); + + decode ("Rémi François & Émile", + "Rémi François & Émile"); + + decode ("", ""); + + /* tests with invalid input */ + decode ("&<\"'", "&<\"'"); + decode ("&oelig", "&oelig"); + + return 0; +}