Пример #1
0
 /**
  *  Test to_datetime_select_tag() method
  *
  *  Test {@link DateHelper::to_datetime_select_tag()} method
  */
 public function testTo_datetime_select_tag()
 {
     $dh = new DateHelper('Person', 'birth');
     $dh->controller_object = new ActionController();
     $ar = new ActiveRecord();
     $dh->controller_object->Person = $ar;
     //  Data from the the ActiveRecord, default format
     $ar->expect_query("birth", "2001-07-05 11:30:45");
     $this->assertEquals('<select name="Person[birth(1i)]">' . "\n" . '<option value="1996">1996</option>' . "\n" . '<option value="1997">1997</option>' . "\n" . '<option value="1998">1998</option>' . "\n" . '<option value="1999">1999</option>' . "\n" . '<option value="2000">2000</option>' . "\n" . '<option value="2001"  selected="selected">2001</option>' . "\n" . '<option value="2002">2002</option>' . "\n" . '<option value="2003">2003</option>' . "\n" . '<option value="2004">2004</option>' . "\n" . '<option value="2005">2005</option>' . "\n" . '<option value="2006">2006</option>' . "\n" . '</select>' . "\n" . '<select name="Person[birth(2i)]">' . "\n" . '<option value="01">January</option>' . "\n" . '<option value="02">February</option>' . "\n" . '<option value="03">March</option>' . "\n" . '<option value="04">April</option>' . "\n" . '<option value="05">May</option>' . "\n" . '<option value="06">June</option>' . "\n" . '<option value="07" selected="selected">July</option>' . "\n" . '<option value="08">August</option>' . "\n" . '<option value="09">September</option>' . "\n" . '<option value="10">October</option>' . "\n" . '<option value="11">November</option>' . "\n" . '<option value="12">December</option>' . "\n" . '</select>' . "\n" . '<select name="Person[birth(3i)]">' . "\n" . '<option value="01">01</option>' . "\n" . '<option value="02">02</option>' . "\n" . '<option value="03">03</option>' . "\n" . '<option value="04">04</option>' . "\n" . '<option value="05"  selected="selected">05</option>' . "\n" . '<option value="06">06</option>' . "\n" . '<option value="07">07</option>' . "\n" . '<option value="08">08</option>' . "\n" . '<option value="09">09</option>' . "\n" . '<option value="10">10</option>' . "\n" . '<option value="11">11</option>' . "\n" . '<option value="12">12</option>' . "\n" . '<option value="13">13</option>' . "\n" . '<option value="14">14</option>' . "\n" . '<option value="15">15</option>' . "\n" . '<option value="16">16</option>' . "\n" . '<option value="17">17</option>' . "\n" . '<option value="18">18</option>' . "\n" . '<option value="19">19</option>' . "\n" . '<option value="20">20</option>' . "\n" . '<option value="21">21</option>' . "\n" . '<option value="22">22</option>' . "\n" . '<option value="23">23</option>' . "\n" . '<option value="24">24</option>' . "\n" . '<option value="25">25</option>' . "\n" . '<option value="26">26</option>' . "\n" . '<option value="27">27</option>' . "\n" . '<option value="28">28</option>' . "\n" . '<option value="29">29</option>' . "\n" . '<option value="30">30</option>' . "\n" . '<option value="31">31</option>' . "\n" . '</select>' . "\n" . ' &mdash; <select name="Person[birth(4i)]">' . "\n" . '<option value="00">00</option>' . "\n" . '<option value="01">01</option>' . "\n" . '<option value="02">02</option>' . "\n" . '<option value="03">03</option>' . "\n" . '<option value="04">04</option>' . "\n" . '<option value="05">05</option>' . "\n" . '<option value="06">06</option>' . "\n" . '<option value="07">07</option>' . "\n" . '<option value="08">08</option>' . "\n" . '<option value="09">09</option>' . "\n" . '<option value="10">10</option>' . "\n" . '<option value="11"  selected="selected">11</option>' . "\n" . '<option value="12">12</option>' . "\n" . '<option value="13">13</option>' . "\n" . '<option value="14">14</option>' . "\n" . '<option value="15">15</option>' . "\n" . '<option value="16">16</option>' . "\n" . '<option value="17">17</option>' . "\n" . '<option value="18">18</option>' . "\n" . '<option value="19">19</option>' . "\n" . '<option value="20">20</option>' . "\n" . '<option value="21">21</option>' . "\n" . '<option value="22">22</option>' . "\n" . '<option value="23">23</option>' . "\n" . '</select>' . "\n" . ' : <select name="Person[birth(5i)]">' . "\n" . '<option value="00">00</option>' . "\n" . '<option value="01">01</option>' . "\n" . '<option value="02">02</option>' . "\n" . '<option value="03">03</option>' . "\n" . '<option value="04">04</option>' . "\n" . '<option value="05">05</option>' . "\n" . '<option value="06">06</option>' . "\n" . '<option value="07">07</option>' . "\n" . '<option value="08">08</option>' . "\n" . '<option value="09">09</option>' . "\n" . '<option value="10">10</option>' . "\n" . '<option value="11">11</option>' . "\n" . '<option value="12">12</option>' . "\n" . '<option value="13">13</option>' . "\n" . '<option value="14">14</option>' . "\n" . '<option value="15">15</option>' . "\n" . '<option value="16">16</option>' . "\n" . '<option value="17">17</option>' . "\n" . '<option value="18">18</option>' . "\n" . '<option value="19">19</option>' . "\n" . '<option value="20">20</option>' . "\n" . '<option value="21">21</option>' . "\n" . '<option value="22">22</option>' . "\n" . '<option value="23">23</option>' . "\n" . '<option value="24">24</option>' . "\n" . '<option value="25">25</option>' . "\n" . '<option value="26">26</option>' . "\n" . '<option value="27">27</option>' . "\n" . '<option value="28">28</option>' . "\n" . '<option value="29">29</option>' . "\n" . '<option value="30"  selected="selected">30</option>' . "\n" . '<option value="31">31</option>' . "\n" . '<option value="32">32</option>' . "\n" . '<option value="33">33</option>' . "\n" . '<option value="34">34</option>' . "\n" . '<option value="35">35</option>' . "\n" . '<option value="36">36</option>' . "\n" . '<option value="37">37</option>' . "\n" . '<option value="38">38</option>' . "\n" . '<option value="39">39</option>' . "\n" . '<option value="40">40</option>' . "\n" . '<option value="41">41</option>' . "\n" . '<option value="42">42</option>' . "\n" . '<option value="43">43</option>' . "\n" . '<option value="44">44</option>' . "\n" . '<option value="45">45</option>' . "\n" . '<option value="46">46</option>' . "\n" . '<option value="47">47</option>' . "\n" . '<option value="48">48</option>' . "\n" . '<option value="49">49</option>' . "\n" . '<option value="50">50</option>' . "\n" . '<option value="51">51</option>' . "\n" . '<option value="52">52</option>' . "\n" . '<option value="53">53</option>' . "\n" . '<option value="54">54</option>' . "\n" . '<option value="55">55</option>' . "\n" . '<option value="56">56</option>' . "\n" . '<option value="57">57</option>' . "\n" . '<option value="58">58</option>' . "\n" . '<option value="59">59</option>' . "\n" . '</select>' . "\n", $dh->to_datetime_select_tag());
     //  Data from $_REQUEST should override ActiveRecord
     //  Use default format
     $_REQUEST['Person']['birth(1i)'] = '2000';
     $_REQUEST['Person']['birth(2i)'] = '09';
     $_REQUEST['Person']['birth(3i)'] = '17';
     $_REQUEST['Person']['birth(4i)'] = '09';
     $_REQUEST['Person']['birth(5i)'] = '42';
     $_REQUEST['Person']['birth(6i)'] = '53';
     $this->assertEquals('<select name="Person[birth(1i)]">' . "\n" . '<option value="1995">1995</option>' . "\n" . '<option value="1996">1996</option>' . "\n" . '<option value="1997">1997</option>' . "\n" . '<option value="1998">1998</option>' . "\n" . '<option value="1999">1999</option>' . "\n" . '<option value="2000"  selected="selected">2000</option>' . "\n" . '<option value="2001">2001</option>' . "\n" . '<option value="2002">2002</option>' . "\n" . '<option value="2003">2003</option>' . "\n" . '<option value="2004">2004</option>' . "\n" . '<option value="2005">2005</option>' . "\n" . '</select>' . "\n" . '<select name="Person[birth(2i)]">' . "\n" . '<option value="01">January</option>' . "\n" . '<option value="02">February</option>' . "\n" . '<option value="03">March</option>' . "\n" . '<option value="04">April</option>' . "\n" . '<option value="05">May</option>' . "\n" . '<option value="06">June</option>' . "\n" . '<option value="07">July</option>' . "\n" . '<option value="08">August</option>' . "\n" . '<option value="09" selected="selected">September</option>' . "\n" . '<option value="10">October</option>' . "\n" . '<option value="11">November</option>' . "\n" . '<option value="12">December</option>' . "\n" . '</select>' . "\n" . '<select name="Person[birth(3i)]">' . "\n" . '<option value="01">01</option>' . "\n" . '<option value="02">02</option>' . "\n" . '<option value="03">03</option>' . "\n" . '<option value="04">04</option>' . "\n" . '<option value="05">05</option>' . "\n" . '<option value="06">06</option>' . "\n" . '<option value="07">07</option>' . "\n" . '<option value="08">08</option>' . "\n" . '<option value="09">09</option>' . "\n" . '<option value="10">10</option>' . "\n" . '<option value="11">11</option>' . "\n" . '<option value="12">12</option>' . "\n" . '<option value="13">13</option>' . "\n" . '<option value="14">14</option>' . "\n" . '<option value="15">15</option>' . "\n" . '<option value="16">16</option>' . "\n" . '<option value="17"  selected="selected">17</option>' . "\n" . '<option value="18">18</option>' . "\n" . '<option value="19">19</option>' . "\n" . '<option value="20">20</option>' . "\n" . '<option value="21">21</option>' . "\n" . '<option value="22">22</option>' . "\n" . '<option value="23">23</option>' . "\n" . '<option value="24">24</option>' . "\n" . '<option value="25">25</option>' . "\n" . '<option value="26">26</option>' . "\n" . '<option value="27">27</option>' . "\n" . '<option value="28">28</option>' . "\n" . '<option value="29">29</option>' . "\n" . '<option value="30">30</option>' . "\n" . '<option value="31">31</option>' . "\n" . '</select>' . "\n" . ' &mdash; <select name="Person[birth(4i)]">' . "\n" . '<option value="00">00</option>' . "\n" . '<option value="01">01</option>' . "\n" . '<option value="02">02</option>' . "\n" . '<option value="03">03</option>' . "\n" . '<option value="04">04</option>' . "\n" . '<option value="05">05</option>' . "\n" . '<option value="06">06</option>' . "\n" . '<option value="07">07</option>' . "\n" . '<option value="08">08</option>' . "\n" . '<option value="09"  selected="selected">09</option>' . "\n" . '<option value="10">10</option>' . "\n" . '<option value="11">11</option>' . "\n" . '<option value="12">12</option>' . "\n" . '<option value="13">13</option>' . "\n" . '<option value="14">14</option>' . "\n" . '<option value="15">15</option>' . "\n" . '<option value="16">16</option>' . "\n" . '<option value="17">17</option>' . "\n" . '<option value="18">18</option>' . "\n" . '<option value="19">19</option>' . "\n" . '<option value="20">20</option>' . "\n" . '<option value="21">21</option>' . "\n" . '<option value="22">22</option>' . "\n" . '<option value="23">23</option>' . "\n" . '</select>' . "\n" . ' : <select name="Person[birth(5i)]">' . "\n" . '<option value="00">00</option>' . "\n" . '<option value="01">01</option>' . "\n" . '<option value="02">02</option>' . "\n" . '<option value="03">03</option>' . "\n" . '<option value="04">04</option>' . "\n" . '<option value="05">05</option>' . "\n" . '<option value="06">06</option>' . "\n" . '<option value="07">07</option>' . "\n" . '<option value="08">08</option>' . "\n" . '<option value="09">09</option>' . "\n" . '<option value="10">10</option>' . "\n" . '<option value="11">11</option>' . "\n" . '<option value="12">12</option>' . "\n" . '<option value="13">13</option>' . "\n" . '<option value="14">14</option>' . "\n" . '<option value="15">15</option>' . "\n" . '<option value="16">16</option>' . "\n" . '<option value="17">17</option>' . "\n" . '<option value="18">18</option>' . "\n" . '<option value="19">19</option>' . "\n" . '<option value="20">20</option>' . "\n" . '<option value="21">21</option>' . "\n" . '<option value="22">22</option>' . "\n" . '<option value="23">23</option>' . "\n" . '<option value="24">24</option>' . "\n" . '<option value="25">25</option>' . "\n" . '<option value="26">26</option>' . "\n" . '<option value="27">27</option>' . "\n" . '<option value="28">28</option>' . "\n" . '<option value="29">29</option>' . "\n" . '<option value="30">30</option>' . "\n" . '<option value="31">31</option>' . "\n" . '<option value="32">32</option>' . "\n" . '<option value="33">33</option>' . "\n" . '<option value="34">34</option>' . "\n" . '<option value="35">35</option>' . "\n" . '<option value="36">36</option>' . "\n" . '<option value="37">37</option>' . "\n" . '<option value="38">38</option>' . "\n" . '<option value="39">39</option>' . "\n" . '<option value="40">40</option>' . "\n" . '<option value="41">41</option>' . "\n" . '<option value="42"  selected="selected">42</option>' . "\n" . '<option value="43">43</option>' . "\n" . '<option value="44">44</option>' . "\n" . '<option value="45">45</option>' . "\n" . '<option value="46">46</option>' . "\n" . '<option value="47">47</option>' . "\n" . '<option value="48">48</option>' . "\n" . '<option value="49">49</option>' . "\n" . '<option value="50">50</option>' . "\n" . '<option value="51">51</option>' . "\n" . '<option value="52">52</option>' . "\n" . '<option value="53">53</option>' . "\n" . '<option value="54">54</option>' . "\n" . '<option value="55">55</option>' . "\n" . '<option value="56">56</option>' . "\n" . '<option value="57">57</option>' . "\n" . '<option value="58">58</option>' . "\n" . '<option value="59">59</option>' . "\n" . '</select>' . "\n", $dh->to_datetime_select_tag());
     //  As above but enable seconds
     $this->assertEquals('<select name="Person[birth(1i)]">' . "\n" . '<option value="1995">1995</option>' . "\n" . '<option value="1996">1996</option>' . "\n" . '<option value="1997">1997</option>' . "\n" . '<option value="1998">1998</option>' . "\n" . '<option value="1999">1999</option>' . "\n" . '<option value="2000"  selected="selected">2000</option>' . "\n" . '<option value="2001">2001</option>' . "\n" . '<option value="2002">2002</option>' . "\n" . '<option value="2003">2003</option>' . "\n" . '<option value="2004">2004</option>' . "\n" . '<option value="2005">2005</option>' . "\n" . '</select>' . "\n" . '<select name="Person[birth(2i)]">' . "\n" . '<option value="01">January</option>' . "\n" . '<option value="02">February</option>' . "\n" . '<option value="03">March</option>' . "\n" . '<option value="04">April</option>' . "\n" . '<option value="05">May</option>' . "\n" . '<option value="06">June</option>' . "\n" . '<option value="07">July</option>' . "\n" . '<option value="08">August</option>' . "\n" . '<option value="09" selected="selected">September</option>' . "\n" . '<option value="10">October</option>' . "\n" . '<option value="11">November</option>' . "\n" . '<option value="12">December</option>' . "\n" . '</select>' . "\n" . '<select name="Person[birth(3i)]">' . "\n" . '<option value="01">01</option>' . "\n" . '<option value="02">02</option>' . "\n" . '<option value="03">03</option>' . "\n" . '<option value="04">04</option>' . "\n" . '<option value="05">05</option>' . "\n" . '<option value="06">06</option>' . "\n" . '<option value="07">07</option>' . "\n" . '<option value="08">08</option>' . "\n" . '<option value="09">09</option>' . "\n" . '<option value="10">10</option>' . "\n" . '<option value="11">11</option>' . "\n" . '<option value="12">12</option>' . "\n" . '<option value="13">13</option>' . "\n" . '<option value="14">14</option>' . "\n" . '<option value="15">15</option>' . "\n" . '<option value="16">16</option>' . "\n" . '<option value="17"  selected="selected">17</option>' . "\n" . '<option value="18">18</option>' . "\n" . '<option value="19">19</option>' . "\n" . '<option value="20">20</option>' . "\n" . '<option value="21">21</option>' . "\n" . '<option value="22">22</option>' . "\n" . '<option value="23">23</option>' . "\n" . '<option value="24">24</option>' . "\n" . '<option value="25">25</option>' . "\n" . '<option value="26">26</option>' . "\n" . '<option value="27">27</option>' . "\n" . '<option value="28">28</option>' . "\n" . '<option value="29">29</option>' . "\n" . '<option value="30">30</option>' . "\n" . '<option value="31">31</option>' . "\n" . '</select>' . "\n" . ' &mdash; <select name="Person[birth(4i)]">' . "\n" . '<option value="00">00</option>' . "\n" . '<option value="01">01</option>' . "\n" . '<option value="02">02</option>' . "\n" . '<option value="03">03</option>' . "\n" . '<option value="04">04</option>' . "\n" . '<option value="05">05</option>' . "\n" . '<option value="06">06</option>' . "\n" . '<option value="07">07</option>' . "\n" . '<option value="08">08</option>' . "\n" . '<option value="09"  selected="selected">09</option>' . "\n" . '<option value="10">10</option>' . "\n" . '<option value="11">11</option>' . "\n" . '<option value="12">12</option>' . "\n" . '<option value="13">13</option>' . "\n" . '<option value="14">14</option>' . "\n" . '<option value="15">15</option>' . "\n" . '<option value="16">16</option>' . "\n" . '<option value="17">17</option>' . "\n" . '<option value="18">18</option>' . "\n" . '<option value="19">19</option>' . "\n" . '<option value="20">20</option>' . "\n" . '<option value="21">21</option>' . "\n" . '<option value="22">22</option>' . "\n" . '<option value="23">23</option>' . "\n" . '</select>' . "\n" . ' : <select name="Person[birth(5i)]">' . "\n" . '<option value="00">00</option>' . "\n" . '<option value="01">01</option>' . "\n" . '<option value="02">02</option>' . "\n" . '<option value="03">03</option>' . "\n" . '<option value="04">04</option>' . "\n" . '<option value="05">05</option>' . "\n" . '<option value="06">06</option>' . "\n" . '<option value="07">07</option>' . "\n" . '<option value="08">08</option>' . "\n" . '<option value="09">09</option>' . "\n" . '<option value="10">10</option>' . "\n" . '<option value="11">11</option>' . "\n" . '<option value="12">12</option>' . "\n" . '<option value="13">13</option>' . "\n" . '<option value="14">14</option>' . "\n" . '<option value="15">15</option>' . "\n" . '<option value="16">16</option>' . "\n" . '<option value="17">17</option>' . "\n" . '<option value="18">18</option>' . "\n" . '<option value="19">19</option>' . "\n" . '<option value="20">20</option>' . "\n" . '<option value="21">21</option>' . "\n" . '<option value="22">22</option>' . "\n" . '<option value="23">23</option>' . "\n" . '<option value="24">24</option>' . "\n" . '<option value="25">25</option>' . "\n" . '<option value="26">26</option>' . "\n" . '<option value="27">27</option>' . "\n" . '<option value="28">28</option>' . "\n" . '<option value="29">29</option>' . "\n" . '<option value="30">30</option>' . "\n" . '<option value="31">31</option>' . "\n" . '<option value="32">32</option>' . "\n" . '<option value="33">33</option>' . "\n" . '<option value="34">34</option>' . "\n" . '<option value="35">35</option>' . "\n" . '<option value="36">36</option>' . "\n" . '<option value="37">37</option>' . "\n" . '<option value="38">38</option>' . "\n" . '<option value="39">39</option>' . "\n" . '<option value="40">40</option>' . "\n" . '<option value="41">41</option>' . "\n" . '<option value="42"  selected="selected">42</option>' . "\n" . '<option value="43">43</option>' . "\n" . '<option value="44">44</option>' . "\n" . '<option value="45">45</option>' . "\n" . '<option value="46">46</option>' . "\n" . '<option value="47">47</option>' . "\n" . '<option value="48">48</option>' . "\n" . '<option value="49">49</option>' . "\n" . '<option value="50">50</option>' . "\n" . '<option value="51">51</option>' . "\n" . '<option value="52">52</option>' . "\n" . '<option value="53">53</option>' . "\n" . '<option value="54">54</option>' . "\n" . '<option value="55">55</option>' . "\n" . '<option value="56">56</option>' . "\n" . '<option value="57">57</option>' . "\n" . '<option value="58">58</option>' . "\n" . '<option value="59">59</option>' . "\n" . '</select>' . "\n" . ' : <select name="Person[birth(6i)]">' . "\n" . '<option value="00">00</option>' . "\n" . '<option value="01">01</option>' . "\n" . '<option value="02">02</option>' . "\n" . '<option value="03">03</option>' . "\n" . '<option value="04">04</option>' . "\n" . '<option value="05">05</option>' . "\n" . '<option value="06">06</option>' . "\n" . '<option value="07">07</option>' . "\n" . '<option value="08">08</option>' . "\n" . '<option value="09">09</option>' . "\n" . '<option value="10">10</option>' . "\n" . '<option value="11">11</option>' . "\n" . '<option value="12">12</option>' . "\n" . '<option value="13">13</option>' . "\n" . '<option value="14">14</option>' . "\n" . '<option value="15">15</option>' . "\n" . '<option value="16">16</option>' . "\n" . '<option value="17">17</option>' . "\n" . '<option value="18">18</option>' . "\n" . '<option value="19">19</option>' . "\n" . '<option value="20">20</option>' . "\n" . '<option value="21">21</option>' . "\n" . '<option value="22">22</option>' . "\n" . '<option value="23">23</option>' . "\n" . '<option value="24">24</option>' . "\n" . '<option value="25">25</option>' . "\n" . '<option value="26">26</option>' . "\n" . '<option value="27">27</option>' . "\n" . '<option value="28">28</option>' . "\n" . '<option value="29">29</option>' . "\n" . '<option value="30">30</option>' . "\n" . '<option value="31">31</option>' . "\n" . '<option value="32">32</option>' . "\n" . '<option value="33">33</option>' . "\n" . '<option value="34">34</option>' . "\n" . '<option value="35">35</option>' . "\n" . '<option value="36">36</option>' . "\n" . '<option value="37">37</option>' . "\n" . '<option value="38">38</option>' . "\n" . '<option value="39">39</option>' . "\n" . '<option value="40">40</option>' . "\n" . '<option value="41">41</option>' . "\n" . '<option value="42">42</option>' . "\n" . '<option value="43">43</option>' . "\n" . '<option value="44">44</option>' . "\n" . '<option value="45">45</option>' . "\n" . '<option value="46">46</option>' . "\n" . '<option value="47">47</option>' . "\n" . '<option value="48">48</option>' . "\n" . '<option value="49">49</option>' . "\n" . '<option value="50">50</option>' . "\n" . '<option value="51">51</option>' . "\n" . '<option value="52">52</option>' . "\n" . '<option value="53"  selected="selected">53</option>' . "\n" . '<option value="54">54</option>' . "\n" . '<option value="55">55</option>' . "\n" . '<option value="56">56</option>' . "\n" . '<option value="57">57</option>' . "\n" . '<option value="58">58</option>' . "\n" . '<option value="59">59</option>' . "\n" . '</select>' . "\n", $dh->to_datetime_select_tag(array('discard_second' => false)));
 }