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 )