1#!perl
2
3use strict ;
4use lib qw(t) ;
5use common ;
6
7use File::Slurp ;
8use Data::Dumper ;
9
10my $tests = [
11
12	{
13		name	=> 'nested [- -]',
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	{
72		name	=> 'nested',
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	{
127		name	=> 'nested ,',
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	{
159		name	=> 'nested short',
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
193