#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use MojoMojo::Formatter::Include;
use lib 't/lib';
use FakeCatalystObject;
BEGIN {
plan skip_all => 'Requirements not installed for the Include formatter'
unless MojoMojo::Formatter::Include->module_loaded;
plan tests => 7;
$ENV{CATALYST_CONFIG} = 't/var/mojomojo.yml';
use_ok('Catalyst::Test', 'MojoMojo');
}
my $fake_c = FakeCatalystObject->new;
my ($content);
content_like('/.jsrpc/render?content=%7B%7Bhttp://localhost/help%7D%7D', qr'{{http://localhost/help}}',
'invalidate the old "syntax"');
# match against the start of the string, \A, to make sure no page cruft gets included besides the content
content_like('/.jsrpc/render?content=%7B%7Binclude http://localhost/help%7D%7D', qr/\A<h1>Help/,
'include part of wiki, absolute URL');
content_like('/.jsrpc/render?content=%7B%7Binclude /help%7D%7D', qr/\A<h1>Help/,
'include part of wiki, relative URL');
content_like('/help.jsrpc/render?content=%7B%7Binclude http://localhost/%7D%7D', qr/\A<h1>Welcome\sto\sMojoMojo/,
'include the root page, absolute URL');
content_like('/help.jsrpc/render?content=%7B%7Binclude /%7D%7D', qr/\A<h1>Welcome\sto\sMojoMojo/,
'include the root page, relative URL');
SKIP: {
skip "set TEST_LIVE to run tests that requires a live Internet connection", 1
if not $ENV{TEST_LIVE};
$content = "{{include http://github.com/marcusramberg/mojomojo/raw/85605d55158b1e6380457d4ddc31e34b7a77875a/Changes}}\n";
MojoMojo::Formatter::Include->format_content(\$content, $fake_c, undef);
like($content, qr{0\.999001\s+2007\-08\-29\s16\:29\:00}, 'include Changes file from GitHub');
}