token_re, include cleanup, git cleanup
[urisagit/Template-Simple.git] / t / nested.t
CommitLineData
e374d8da 1#!perl
2
3use strict ;
4use lib qw(t) ;
5use common ;
6
7use File::Slurp ;
8use Data::Dumper ;
9
10my $tests = [
11
12 {
f5c8badf 13 name => 'nested [- -]',
e374d8da 14 skip => 0,
15 opts => {
16 pre_delim => qr/\[\-/,
17 post_delim => qr/\-\]/,
18 },
19 data => {
20 widgets => [
21 {
22 title => "bart",
23 },
24 {
25 title => "marge",
26 }
27 ],
28 },
29 template => <<TEMPLATE,
30<table width="100%" border=1>
31 [-start widgets-]
32 <tr>
33 <td>[-anchor-]</td>
34 <td>
35 <b>[-title-]</b>
36 <br>[-description-]
37 </td>
38 <td>[-escaped_anchor-]</td>
39 <td>[-options-]</td>
40 </tr>
41 [-end widgets-]
42</table>
43TEMPLATE
44
45 expected => <<EXPECTED,
46<table width="100%" border=1>
47
48 <tr>
49 <td></td>
50 <td>
51 <b>bart</b>
52 <br>
53 </td>
54 <td></td>
55 <td></td>
56 </tr>
57
58 <tr>
59 <td></td>
60 <td>
61 <b>marge</b>
62 <br>
63 </td>
64 <td></td>
65 <td></td>
66 </tr>
67
68</table>
69EXPECTED
70 },
71 {
f5c8badf 72 name => 'nested',
e374d8da 73 skip => 0,
74 data => {
75 widgets => [
76 {
77 title => "bart",
78 },
79 {
80 title => "marge",
81 }
82 ],
83 },
84 template => <<TEMPLATE,
85<table width="100%" border=1>
86 [%start widgets%]
87 <tr>
88 <td>[%anchor%]</td>
89 <td>
90 <b>[%title%]</b>
91 <br>[%description%]
92 </td>
93 <td>[%escaped_anchor%]</td>
94 <td>[%options%]</td>
95 </tr>
96 [%end widgets%]
97</table>
98TEMPLATE
99
100 expected => <<EXPECTED,
101<table width="100%" border=1>
102
103 <tr>
104 <td></td>
105 <td>
106 <b>bart</b>
107 <br>
108 </td>
109 <td></td>
110 <td></td>
111 </tr>
112
113 <tr>
114 <td></td>
115 <td>
116 <b>marge</b>
117 <br>
118 </td>
119 <td></td>
120 <td></td>
121 </tr>
122
123</table>
124EXPECTED
125 },
126 {
f5c8badf 127 name => 'nested ,',
e374d8da 128 skip => 0,
129 opts => {
130 },
131 data => {
132 widgets => [
133 {
134 title => "bart",
135 },
136 {
137 title => "marge",
138 }
139 ],
140 },
141 template => <<TEMPLATE,
142,,,,,[%start widgets%]
143,,,,,,,,,{[%title%]}
144[% s %]
145,,,,,,,,,[%end widgets%]
146TEMPLATE
147
148 expected => <<EXPECTED,
149,,,,,
150,,,,,,,,,{bart}
151
152,,,,,,,,,
153,,,,,,,,,{marge}
154
155,,,,,,,,,
156EXPECTED
157 },
158 {
f5c8badf 159 name => 'nested short',
e374d8da 160 skip => 0,
161 data => {
162 widgets => [
163 {
164 title => "bart",
165 },
166 {
167 title => "marge",
168 }
169 ],
170 },
171 template => <<TEMPLATE,
172 [%start widgets%]
173 <b>[%title%]</b>
174 [%end widgets%]
175TEMPLATE
176
177 expected => <<EXPECTED,
178
179 <b>bart</b>
180
181 <b>marge</b>
182
183EXPECTED
184 },
185
186] ;
187
188template_tester( $tests ) ;
189
190exit ;
191
192