0
@@ -1213,6 +1213,30 @@ class DateHelperTest < ActionView::TestCase
0
assert_dom_equal expected, output_buffer
0
+ def test_date_select_with_separator
0
+ @post.written_on = Date.new(2004, 6, 15)
0
+ expected = %{<select id="post_written_on_1i" name="post[written_on(1i)]">\n}
0
+ expected << %{<option value="1999">1999</option>\n<option value="2000">2000</option>\n<option value="2001">2001</option>\n<option value="2002">2002</option>\n<option value="2003">2003</option>\n<option value="2004" selected="selected">2004</option>\n<option value="2005">2005</option>\n<option value="2006">2006</option>\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n}
0
+ expected << "</select>\n"
0
+ expected << %{<select id="post_written_on_2i" name="post[written_on(2i)]">\n}
0
+ expected << %{<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6" selected="selected">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
0
+ expected << "</select>\n"
0
+ expected << %{<select id="post_written_on_3i" name="post[written_on(3i)]">\n}
0
+ expected << %{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</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" selected="selected">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}
0
+ expected << "</select>\n"
0
+ assert_dom_equal expected, date_select("post", "written_on", { :date_separator => " / " })
0
@post.written_on = Time.local(2004, 6, 15, 15, 16, 35)
0
@@ -1312,6 +1336,33 @@ class DateHelperTest < ActionView::TestCase
0
assert_dom_equal expected, output_buffer
0
+ def test_time_select_with_separator
0
+ @post.written_on = Time.local(2004, 6, 15, 15, 16, 35)
0
+ expected = %{<input type="hidden" id="post_written_on_1i" name="post[written_on(1i)]" value="2004" />\n}
0
+ expected << %{<input type="hidden" id="post_written_on_2i" name="post[written_on(2i)]" value="6" />\n}
0
+ expected << %{<input type="hidden" id="post_written_on_3i" name="post[written_on(3i)]" value="15" />\n}
0
+ expected << %(<select id="post_written_on_4i" name="post[written_on(4i)]">\n)
0
+ 0.upto(23) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 15}>#{sprintf("%02d", i)}</option>\n) }
0
+ expected << "</select>\n"
0
+ expected << %(<select id="post_written_on_5i" name="post[written_on(5i)]">\n)
0
+ 0.upto(59) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 16}>#{sprintf("%02d", i)}</option>\n) }
0
+ expected << "</select>\n"
0
+ expected << %(<select id="post_written_on_6i" name="post[written_on(6i)]">\n)
0
+ 0.upto(59) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 35}>#{sprintf("%02d", i)}</option>\n) }
0
+ expected << "</select>\n"
0
+ assert_dom_equal expected, time_select("post", "written_on", { :time_separator => " - ", :include_seconds => true })
0
def test_datetime_select
0
@post.updated_at = Time.local(2004, 6, 15, 16, 35)
0
@@ -1394,6 +1445,47 @@ class DateHelperTest < ActionView::TestCase
0
assert_dom_equal expected, output_buffer
0
+ def test_datetime_select_with_separators
0
+ @post.updated_at = Time.local(2004, 6, 15, 15, 16, 35)
0
+ expected = %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
0
+ expected << %{<option value="1999">1999</option>\n<option value="2000">2000</option>\n<option value="2001">2001</option>\n<option value="2002">2002</option>\n<option value="2003">2003</option>\n<option value="2004" selected="selected">2004</option>\n<option value="2005">2005</option>\n<option value="2006">2006</option>\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n}
0
+ expected << "</select>\n"
0
+ expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
0
+ expected << %{<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6" selected="selected">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
0
+ expected << "</select>\n"
0
+ expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
0
+ expected << %{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</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" selected="selected">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}
0
+ expected << "</select>\n"
0
+ expected << %(<select id="post_updated_at_4i" name="post[updated_at(4i)]">\n)
0
+ 0.upto(23) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 15}>#{sprintf("%02d", i)}</option>\n) }
0
+ expected << "</select>\n"
0
+ expected << %(<select id="post_updated_at_5i" name="post[updated_at(5i)]">\n)
0
+ 0.upto(59) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 16}>#{sprintf("%02d", i)}</option>\n) }
0
+ expected << "</select>\n"
0
+ expected << %(<select id="post_updated_at_6i" name="post[updated_at(6i)]">\n)
0
+ 0.upto(59) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 35}>#{sprintf("%02d", i)}</option>\n) }
0
+ expected << "</select>\n"
0
+ assert_dom_equal expected, datetime_select("post", "updated_at", { :date_separator => " / ", :datetime_separator => " , ", :time_separator => " - ", :include_seconds => true })
0
def test_date_select_with_zero_value_and_no_start_year
0
expected = %(<select id="date_first_year" name="date[first][year]">\n)
0
(Date.today.year-5).upto(Date.today.year+1) { |y| expected << %(<option value="#{y}">#{y}</option>\n) }