bug 5393 [SIGNED-OFF]: add test case to check well-formedness of XML/XSLT files
authorGalen Charlton <gmcharlt@gmail.com>
Fri, 12 Nov 2010 14:10:37 +0000 (15:10 +0100)
committerChris Nighswonger <chris.nighswonger@gmail.com>
Sat, 13 Nov 2010 02:14:35 +0000 (21:14 -0500)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
(cherry picked from commit 35d2008ef001f19c16f29a25626a7190c75218a8)

Signed-off-by: Chris Nighswonger <chris.nighswonger@gmail.com>
t/00-valid-xml.t [new file with mode: 0644]

diff --git a/t/00-valid-xml.t b/t/00-valid-xml.t
new file mode 100644 (file)
index 0000000..6e896ba
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright 2010 Galen Charlton
+#
+# This file is part of Koha.
+#
+# Koha 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.
+#
+# Koha 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 Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+
+use Test::More;
+use File::Spec;
+use File::Find;
+use XML::LibXML;
+
+my $parser = XML::LibXML->new();
+
+find({
+    bydepth => 1,
+    no_chdir => 1,
+    wanted => sub {
+        my $file = $_;
+        return unless $file =~ /(\.xml|\.xsl|\.xslt)$/i;
+        my $dom;
+        eval { $dom = $parser->parse_file($file); };
+        if ($@) {
+            fail("$file parses");
+            diag($@);
+        } else {
+            pass("$file parses");
+        }
+    },
+}, File::Spec->curdir());
+done_testing();