1use strict;
2use warnings;
3
4use Test::More tests => 1;
5
6use HTML::FormFu;
7use DateTime;
8
9my $dt = DateTime->new(
10    day    => 6,
11    month  => 8,
12    year   => 2007,
13    hour   => 1,
14    minute => 0,
15);
16
17my $form = HTML::FormFu->new(
18    { tt_args => { INCLUDE_PATH => 'share/templates/tt/xhtml' } } );
19
20$form->load_config_file('t/elements/datetime.yml');
21
22$form->process;
23
24# simulate calling $form->model->default_values
25# without then calling $form->process
26
27my $foo_field = $form->get_field('foo');
28
29$foo_field->default($dt);
30
31my $xhtml = qq{<div>
32<span class="elements">
33<select name="foo_day">
34<option value="">-- Day --</option>
35<option value="1">1</option>
36<option value="2">2</option>
37<option value="3">3</option>
38<option value="4">4</option>
39<option value="5">5</option>
40<option value="6" selected="selected">6</option>
41<option value="7">7</option>
42<option value="8">8</option>
43<option value="9">9</option>
44<option value="10">10</option>
45<option value="11">11</option>
46<option value="12">12</option>
47<option value="13">13</option>
48<option value="14">14</option>
49<option value="15">15</option>
50<option value="16">16</option>
51<option value="17">17</option>
52<option value="18">18</option>
53<option value="19">19</option>
54<option value="20">20</option>
55<option value="21">21</option>
56<option value="22">22</option>
57<option value="23">23</option>
58<option value="24">24</option>
59<option value="25">25</option>
60<option value="26">26</option>
61<option value="27">27</option>
62<option value="28">28</option>
63<option value="29">29</option>
64<option value="30">30</option>
65<option value="31">31</option>
66</select>
67<select name="foo_month">
68<option value="">-- Month --</option>
69<option value="1">Jan</option>
70<option value="2">Feb</option>
71<option value="3">Mar</option>
72<option value="4">Apr</option>
73<option value="5">May</option>
74<option value="6">Jun</option>
75<option value="7">Jul</option>
76<option value="8" selected="selected">Aug</option>
77<option value="9">Sep</option>
78<option value="10">Oct</option>
79<option value="11">Nov</option>
80<option value="12">Dec</option>
81</select>
82<select name="foo_year">
83<option value="">-- Year --</option>
84<option value="2007" selected="selected">2007</option>
85<option value="2008">2008</option>
86<option value="2009">2009</option>
87<option value="2010">2010</option>
88<option value="2011">2011</option>
89</select>
90<select name="foo_hour">
91<option value="00">00</option>
92<option value="01" selected="selected">01</option>
93<option value="02">02</option>
94<option value="03">03</option>
95<option value="04">04</option>
96<option value="05">05</option>
97<option value="06">06</option>
98<option value="07">07</option>
99<option value="08">08</option>
100<option value="09">09</option>
101<option value="10">10</option>
102<option value="11">11</option>
103<option value="12">12</option>
104<option value="13">13</option>
105<option value="14">14</option>
106<option value="15">15</option>
107<option value="16">16</option>
108<option value="17">17</option>
109<option value="18">18</option>
110<option value="19">19</option>
111<option value="20">20</option>
112<option value="21">21</option>
113<option value="22">22</option>
114<option value="23">23</option>
115</select>
116<select name="foo_minute">
117<option value="00" selected="selected">00</option>
118<option value="01">01</option>
119<option value="02">02</option>
120<option value="03">03</option>
121<option value="04">04</option>
122<option value="05">05</option>
123<option value="06">06</option>
124<option value="07">07</option>
125<option value="08">08</option>
126<option value="09">09</option>
127<option value="10">10</option>
128<option value="11">11</option>
129<option value="12">12</option>
130<option value="13">13</option>
131<option value="14">14</option>
132<option value="15">15</option>
133<option value="16">16</option>
134<option value="17">17</option>
135<option value="18">18</option>
136<option value="19">19</option>
137<option value="20">20</option>
138<option value="21">21</option>
139<option value="22">22</option>
140<option value="23">23</option>
141<option value="24">24</option>
142<option value="25">25</option>
143<option value="26">26</option>
144<option value="27">27</option>
145<option value="28">28</option>
146<option value="29">29</option>
147<option value="30">30</option>
148<option value="31">31</option>
149<option value="32">32</option>
150<option value="33">33</option>
151<option value="34">34</option>
152<option value="35">35</option>
153<option value="36">36</option>
154<option value="37">37</option>
155<option value="38">38</option>
156<option value="39">39</option>
157<option value="40">40</option>
158<option value="41">41</option>
159<option value="42">42</option>
160<option value="43">43</option>
161<option value="44">44</option>
162<option value="45">45</option>
163<option value="46">46</option>
164<option value="47">47</option>
165<option value="48">48</option>
166<option value="49">49</option>
167<option value="50">50</option>
168<option value="51">51</option>
169<option value="52">52</option>
170<option value="53">53</option>
171<option value="54">54</option>
172<option value="55">55</option>
173<option value="56">56</option>
174<option value="57">57</option>
175<option value="58">58</option>
176<option value="59">59</option>
177</select>
178</span>
179</div>};
180
181is( "$foo_field", $xhtml );
182