We no longer have a test for DTD-valid XHTML 1.0, but at least check well-formedness

This means that people can do XSLT nonsense if they want to.

The failures are currently marked TODO because not everything in the
docwiki is in fact well-formed.
master
Simon McVittie 2014-10-16 11:25:10 +01:00
parent fb7225dbe6
commit b679fc65f5
1 changed files with 50 additions and 0 deletions

50
t/wellformed.t 100755
View File

@ -0,0 +1,50 @@
#!/usr/bin/perl
use warnings;
use strict;
use Cwd qw();
use File::Find;
use Test::More;
plan(skip_all => "XML::Parser not available")
unless eval q{use XML::Parser (); 1;};
use IkiWiki;
ok(system("make >/dev/null") == 0);
chdir("html") || die "chdir: $!";
sub wanted {
my $file = $_;
return if -d $file;
$file =~ s{^\./}{};
return if $file !~ m/\.html$/;
if (eval {
XML::Parser->new()->parsefile($file);
1;
}) {
pass($file);
}
elsif ($file =~ m{^(?:
# user-contributed, contains explicit <br>
plugins/contrib/gallery |
# use templatebody when branchable.com has been upgraded
templates/ |
# malformed content in <pre> not escaped by discount
tips/convert_mediawiki_to_ikiwiki
# user-contributed, content is anyone's guess
users/ |
)}x) {
TODO: {
local $TODO = $@;
fail($file);
}
}
}
find({
no_chdir => 1,
wanted => \&wanted,
}, '.');
done_testing;