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