Any-Renderer
view release on metacpan or search on metacpan
t/Any_Renderer_Template.t view on Meta::CPAN
$format = "IFL::Template";
if($AvailableLanguages{$format}) {
#Template in memory
TRACE ( $format );
my %options = (
'TemplateString' => '[INSERT greeting] [INSERT entity]!',
);
my $renderer = new Any::Renderer::Template ( $format, \%options );
ASSERT ( "Hello World!" eq $renderer->render ( { 'greeting' => 'Hello', 'entity' => 'World' } ), "IFL::Template in-memory template." );
# IFL::Template file
%options = (
'Template' => 'data/ifl_template.tmpl',
);
$renderer = new Any::Renderer::Template ( $format, \%options );
ASSERT ( "Hello World!\n" eq $renderer->render ( { 'greeting' => 'Hello', 'entity' => 'World' } ), "IFL::Template file template." );
$renderer = new Any::Renderer::Template ( $format, \%options );
ASSERT ( "Hello World!\n" eq $renderer->render ( { 'greeting' => 'Hello', 'entity' => 'World' } ), "IFL::Template file template (w/Cache)." );
$options { 'NoCache' } = 1;
$renderer = new Any::Renderer::Template ( $format, \%options );
ASSERT ( "Hello World!\n" eq $renderer->render ( { 'greeting' => 'Hello', 'entity' => 'World' } ), "IFL::Template file template (w/NoCache)." );
}
# Text::MicroMason
$format = "Text::MicroMason";
if($AvailableLanguages{$format}) {
#In memory
TRACE ( $format );
my %options = (
'TemplateString' => '<% $ARGS{greeting} %> <% $ARGS{entity} %>!',
);
my $renderer = new Any::Renderer::Template ( $format, \%options );
ASSERT ( "Hello World!" eq $renderer->render ( { 'greeting' => 'Hello', 'entity' => 'World' } ), "Text::MicroMason in-memory template." );
# Text::MicroMason file
%options = (
'Template' => 'data/micromason_template.tmpl',
);
$renderer = new Any::Renderer::Template ( $format, \%options );
ASSERT ( "Hello World!\n" eq $renderer->render ( { 'greeting' => 'Hello', 'entity' => 'World' } ), "Text::MicroMason file template." );
$renderer = new Any::Renderer::Template ( $format, \%options );
ASSERT ( "Hello World!\n" eq $renderer->render ( { 'greeting' => 'Hello', 'entity' => 'World' } ), "Text::MicroMason file template (w/Cache)." );
# run the same again to test template caching
$renderer = new Any::Renderer::Template ( $format, \%options );
ASSERT ( "Hello World!\n" eq $renderer->render ( { 'greeting' => 'Hello', 'entity' => 'World' } ), "Text::MicroMason file template (w/Cache)." );
$options { 'NoCache' } = 1;
$renderer = new Any::Renderer::Template ( $format, \%options );
ASSERT ( "Hello World!\n" eq $renderer->render ( { 'greeting' => 'Hello', 'entity' => 'World' } ), "Text::MicroMason file template (w/NoCache)." );
}
# finally let's check to make sure an error is throw if no template is provided
if(%AvailableLanguages) {
$format = (keys %AvailableLanguages)[0];
eval
{
my $renderer = new Any::Renderer::Template ( $format, {} );
$renderer->render ( {} );
};
ASSERT ( $@, "No template provided raises error" );
}
}
# vim: ft=perl
( run in 0.886 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )