File: dot_loop.t

package info (click to toggle)
libhtml-template-pluggable-perl 0.17%2B~cs0.6-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 276 kB
  • sloc: perl: 401; makefile: 17
file content (33 lines) | stat: -rw-r--r-- 1,089 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use Test::More qw(no_plan);
use strict;

use_ok('HTML::Template::Pluggable');
use_ok('HTML::Template::Plugin::Dot');
use_ok('Test::MockObject');

my $mock = Test::MockObject->new();
$mock->mock( 'some', sub { $mock } );
$mock->mock( 'method', sub { "chained methods work inside tmpl_loop" } );
my $mock2 = Test::MockObject->new();
$mock2->mock( 'some', sub { $mock2 } );
$mock2->mock( 'method', sub { "chained methods work inside a loop twice" } );
my ($output, $template, $result);
$template = qq{<tmpl_loop deloop><tmpl_var num><tmpl_var should_be.some.method></tmpl_loop>};

# test a simple template
my $t = HTML::Template::Pluggable->new(
		scalarref => \$template,
		debug => 0
		);

eval {
    $t->param('deloop',[ {should_be => $mock, num => 1}, {should_be => $mock2, num => 2} ]);
    $output =  $t->output;
};

SKIP: {
    skip "HTML::Template subclassing bug for tmpl_loop support. See: http://rt.cpan.org/NoAuth/Bug.html?id=14037", 2 if $@;
    like($output ,qr/chained methods work inside tmpl_loop/);
    like($output ,qr/chained methods work inside a loop twice/);
}
__END__