use strict;
use Cwd;
use OpenGuides;
use OpenGuides::Template;
use OpenGuides::Test;
use Test::More tests => 5;
my $config = OpenGuides::Test->make_basic_config;
$config->template_path( cwd . "/t/templates" );
my $guide = OpenGuides->new( config => $config );
my $wiki = $guide->wiki;
eval {
OpenGuides::Template->output( wiki => $wiki,
config => $config,
template => "15_test.tt" );
};
is( $@, "", "is happy doing output" );
my $output = OpenGuides::Template->output(
wiki => $wiki,
config => $config,
template => "15_test.tt"
);
like( $output, qr/^Content-Type: text\/html/,
"Content-Type header included and defaults to text/html" );
# Now supply a http charset
$config->http_charset( "UTF-8" );
$output = OpenGuides::Template->output(
wiki => $wiki,
config => $config,
template => "15_test.tt"
);
like( $output, qr/^Content-Type: text\/html; charset=UTF-8/,
"Content-Type header included charset" );
# Suppy charset and content type
$output = OpenGuides::Template->output(
wiki => $wiki,
config => $config,
content_type => "text/xml",
template => "15_test.tt"
);
like( $output, qr/^Content-Type: text\/xml; charset=UTF-8/,
"Content-Type header included charset" );
# Content type but no charset
$config->http_charset( "" );
$output = OpenGuides::Template->output(
wiki => $wiki,
config => $config,
content_type => "text/xml",
template => "15_test.tt"
);
like( $output, qr/^Content-Type: text\/xml/,
"Content-Type header didn't include charset" );