10 # these dirs must be in order to the deepest for rmdir to work properly
12 my @tmpl_dirs = qw( templates templates/deeper templates/deeper/deepest ) ;
16 'templates/FOO.tmpl' => <<FOO,
17 this loads bar <[%include BAR%]>
19 'templates/deeper/BAR.tmpl' => <<BAR,
22 'templates/deeper/deepest/BAR.tmpl' => <<BAR,
23 [this should be hidden then revealed]
31 name => 'simple include',
40 template => '[%INCLUDE foo%]',
44 name => 'nested includes',
48 foo => '[%include bar%]',
53 template => '[%INCLUDE foo%]',
57 name => 'serial includes',
63 quux => 'quux is on the drums',
67 template => '[%INCLUDE foo%] [%INCLUDE bar%] [%INCLUDE quux%]',
68 expected => 'foo is here bar is too quux is on the drums',
72 name => 'missing include',
76 pretest => sub { $_[0]{obj}->delete_templates() },
77 error => qr/can't find/,
81 name => 'load include files',
84 include_paths => [ qw(
87 templates/deeper/deepest
91 template => '[%INCLUDE FOO%]',
92 expected => <<EXPECTED,
93 this loads bar <{this should hide}
99 name => 'use lower path',
102 include_paths => [ qw(
104 templates/deeper/deepest
108 expected => <<EXPECTED,
109 this loads bar <[this should be hidden then revealed]
115 name => 'delete covering file',
118 include_paths => [ qw(
121 templates/deeper/deepest
124 pretest => sub { unlink 'templates/deeper/BAR.tmpl' },
126 expected => <<EXPECTED,
127 this loads bar <[this should be hidden then revealed]
137 template_tester( $tests ) ;
139 #remove_tmpl_files() ;
144 sub write_tmpl_files {
146 mkdir $_, 0755 for @tmpl_dirs ;
148 while( my( $file, $tmpl ) = each %tmpl_files ) {
150 write_file( $file, $tmpl ) ;
154 sub remove_tmpl_files {
156 unlink keys %tmpl_files ;
158 rmdir $_ for reverse @tmpl_dirs ;