Let's make sure that all works
use KitiWiki::Backend::Wiki;
use Test::More tests => 25;
use Directory::Scratch;
my $tmp = Directory::Scratch->new;
my $wiki = KitiWiki::Backend::Wiki->new( storage_root => $tmp->base );
throws_ok {
$wiki->page('../../../Foo');
} qr/attempt to load invalid page/, "can't make invalid pages";
my $foo = $wiki->page('Foo');
ok $foo, 'got Foo';
is $foo->revision_count, '0', 'no revisions yet';
my $foo_0 = $foo->new_revision('jrockway', 'ゼロ');
isa_ok $foo_0, 'KitiWiki::Backend::Wiki::Page::Revision';
is $foo->revision_count, '1', 'one revision';
my $content_0 = $foo_0->content;
ok utf8::is_utf8($content_0), 'revision 0 is utf8';
is $content_0, 'ゼロ', 'got 0 content back';
is $foo_0->author, 'jrockway';
ok $foo_0->date;
my $foo_1 = $foo->new_revision('jrockway', 'revision 1');
is $foo_1->content, 'revision 1';
is $foo_1->author, 'jrockway';
is $foo->latest->content, 'revision 1';
continued...