#!/usr/bin/perl
use warnings;
use strict;
+use Cwd qw(getcwd);
use Test::More;
use IkiWiki;
}
else {
ok(! system("make -s ikiwiki.out"));
- @command = qw(perl -I. ./ikiwiki.out
+ @command = ("perl", "-I".getcwd, qw(./ikiwiki.out
--underlaydir=underlays/basewiki
--set underlaydirbase=underlays
- --templatedir=templates);
+ --templatedir=templates));
}
push @command, qw(--plugin meta --disable-plugin htmlscrubber);
sub write_build_read_compare {
my ($pagename, $input, $expected_output) = @_;
+ ok(! system("rm -rf $tmp"), q{setup});
ok(! system("mkdir -p $srcdir"), q{setup});
writefile("$pagename.mdwn", $srcdir, $input);
ok(! system(@command), q{build});
like(readfile("$destdir/$pagename/index.html"), $expected_output);
- ok(! system("rm -rf $tmp"), q{teardown});
}
write_build_read_compare(
qr{<div class="pagecopyright">},
);
-write_build_read_compare(
- 'enclosure',
- q{[[!meta enclosure="ikiwiki/login-selector/wordpress.png"]]},
- qr{<meta name="enclosure" content="/ikiwiki/login-selector/wordpress.png" />},
-);
-
write_build_read_compare(
'author',
q{[[!meta author="Noodly J. Appendage"]]},
write_build_read_compare(
'date',
- q{[[!meta date="12345"]]},
- qr{<meta name="date" content="12345" />},
+ q{[[!meta date="2000-01-23"]]},
+ qr{<meta name="date" content="2000-01-23" />},
);
write_build_read_compare(
'updated',
- q{[[!meta updated="12345"]]},
- qr{<meta name="updated" content="12345" />},
+ q{[[!meta updated="2018-03-21"]]},
+ qr{<meta name="updated" content="2018-03-21" />},
);
#write_build_read_compare(
qr{<meta name="twitter:card" content="player" />},
);
+write_build_read_compare(
+ 'malformed_ISO-8601',
+ '[[!meta date="2018-02-281T12:00:00-0500"]]',
+ qr{Error: cannot parse date/time: 2018-02-281T12:00:00-0500},
+);
+
+write_build_read_compare(
+ 'nonsense_month',
+ '[[!meta date="2018-14-22T14:22:45-0500"]]',
+ qr{Error: cannot parse date/time: 2018-14-22T14:22:45-0500},
+);
+
done_testing();