The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use Test::More qw(no_plan);
# tests => 6;
use_ok('HTML::Template');

my ($output, $template, $result);
my ($fh, $template_string, @template_array, $stemplate, $atemplate, $ftemplate, $fhtemplate, $typetemplate);

$template = HTML::Template->new(
    path     => 'templates',
    filename => 'simple.tmpl',
    debug    => 0
);

open $fh, 'templates/simple.tmpl'
  or die "Couldn't open simple.tmpl for reading: $!";
{
    local $/;
    $template_string = <$fh>;
    seek $fh, 0, 0;
}

@template_array = <$fh>;
seek $fh, 0, 0;

$stemplate = HTML::Template->new_scalar_ref(\$template_string, debug => 0);

$atemplate = HTML::Template->new_array_ref(\@template_array, debug => 0);

$ftemplate = HTML::Template->new_file(
    'simple.tmpl',
    path  => 'templates',
    debug => 0
);

$fhtemplate = HTML::Template->new_filehandle($fh, debug => 0);

$typetemplate = HTML::Template->new(
    type   => 'filename',
    path   => 'templates',
    source => 'simple.tmpl',
    debug  => 0
);

for my $t ($template, $stemplate, $atemplate, $ftemplate, $fhtemplate, $typetemplate) {
    $t->param('ADJECTIVE', 'very');
    $output = $t->output;
    ok(($output !~ /ADJECTIVE/ and $t->param('ADJECTIVE') eq 'very'), 'simple template passes');
}

=head1 NAME

t/11-non-file-templates.t

=head1 OBJECTIVE

Test whether simple output is correctly created when the template source
is a string, array or a filehandle.

=cut