File: blocks.t

package info (click to toggle)
libtemplate-perl 2.24-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 8,660 kB
  • sloc: perl: 14,518; makefile: 15; sh: 5
file content (104 lines) | stat: -rw-r--r-- 2,256 bytes parent folder | download | duplicates (3)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#============================================================= -*-perl-*-
#
# t/blocks.t
#
# Test ability to INCLUDE/PROCESS a block in a template.
#
# Written by Andy Wardley <abw@andywardley.com>
#
# Copyright (C) 1996-2000 Andy Wardley.  All Rights Reserved.
# Copyright (C) 1998-2000 Canon Research Centre Europe Ltd.
#
# This is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#
# $Id$
#
#========================================================================

use strict;
use lib qw( ./lib ../lib );
use Template::Test;
use Template::Provider;
use Cwd;
$^W = 1;

my $DEBUG = grep(/-d/, @ARGV);
#$Template::Parser::DEBUG = $DEBUG;
#$Template::Directive::PRETTY = $DEBUG;
$Template::Provider::DEBUG = $DEBUG;
#$Template::Context::DEBUG = $DEBUG;

my $path = cwd;
my $dir  = -d 'test/lib' ? "$path/test/lib" : "$path/t/test/lib";

my $tt1 = Template->new({
    INCLUDE_PATH => [ qw( t/test/lib test/lib ) ],
    ABSOLUTE => 1,
});

my $tt2 = Template->new({
    INCLUDE_PATH => [ qw( t/test/lib test/lib ) ],
    EXPOSE_BLOCKS => 1,
    ABSOLUTE => 1,
});

my $vars = {
    a => 'alpha',
    b => 'bravo',
    dir => $dir,
};

test_expect(\*DATA, [ off => $tt1, on => $tt2 ], $vars);

__DATA__
-- test --
[% TRY; INCLUDE blockdef/block1; CATCH; error; END %]

-- expect --
file error - blockdef/block1: not found

-- test --
-- use on --
[% INCLUDE blockdef/block1 %]

-- expect --
This is block 1, defined in blockdef, a is alpha

-- test --
[% INCLUDE blockdef/block1 a='amazing' %]

-- expect --
This is block 1, defined in blockdef, a is amazing

-- test -- 
[% TRY; INCLUDE blockdef/none; CATCH; error; END %]
-- expect --
file error - blockdef/none: not found

-- test --
[% INCLUDE "$dir/blockdef/block1" a='abstract' %]

-- expect --
This is block 1, defined in blockdef, a is abstract

-- test --
[% BLOCK one -%]
block one
[% BLOCK two -%]
this is block two, b is [% b %]
[% END -%]
two has been defined, let's now include it
[% INCLUDE one/two b='brilliant' -%]
end of block one
[% END -%]
[% INCLUDE one -%]
=
[% INCLUDE one/two b='brazen'-%]
--expect --
block one
two has been defined, let's now include it
this is block two, b is brilliant
end of block one
=
this is block two, b is brazen