From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

use strict;
# qw(no_plan)
tests => 7;
BEGIN {
use_ok('HTML::Template');
use_ok('CGI', qw(:html3));
}
my ($template, $q, %options);
# test a simple template
$template = HTML::Template->new(
path => 'templates',
filename => 'simple.tmpl',
debug => 0
);
can_ok('HTML::Template', qw(associateCGI));
isa_ok($template, 'HTML::Template');
$q = CGI->new();
isa_ok($q, 'CGI');
$template->associateCGI($q);
%options = map { $_, 1 } keys(%{$template->{options}});
ok($options{associate}, "associate option exists in HTML::Template object");
eval { $template->associateCGI([1 .. 10]); };
like(
$@,
qr/Warning! non-CGI object was passed to HTML::Template::associateCGI/,
"non-CGI object detected as incorrectly passed to associateCGI()"
);
=head1 NAME
t/03-associate.t
=head1 OBJECTIVE
Test previously untested method C<HTML::Template::associateCGI()>.
=cut