mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #3726 from JanDupal/fix-date-helper-hidden
fix Helpers::DateHelper with :use_hidden - hide separators
This commit is contained in:
commit
02741121be
2 changed files with 34 additions and 0 deletions
|
@ -1011,6 +1011,8 @@ module ActionView
|
|||
|
||||
# Returns the separator for a given datetime component.
|
||||
def separator(type)
|
||||
return "" if @options[:use_hidden]
|
||||
|
||||
case type
|
||||
when :year, :month, :day
|
||||
@options[:"discard_#{type}"] ? "" : @options[:date_separator]
|
||||
|
|
|
@ -987,6 +987,15 @@ class DateHelperTest < ActionView::TestCase
|
|||
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), { :date_separator => " / ", :discard_month => true, :discard_day => true, :start_year => 2003, :end_year => 2005, :prefix => "date[first]"})
|
||||
end
|
||||
|
||||
def test_select_date_with_hidden
|
||||
expected = %(<input id="date_first_year" name="date[first][year]" type="hidden" value="2003"/>\n)
|
||||
expected << %(<input id="date_first_month" name="date[first][month]" type="hidden" value="8" />\n)
|
||||
expected << %(<input id="date_first_day" name="date[first][day]" type="hidden" value="16" />\n)
|
||||
|
||||
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), { :prefix => "date[first]", :use_hidden => true })
|
||||
assert_dom_equal expected, select_date(Time.mktime(2003, 8, 16), { :date_separator => " / ", :prefix => "date[first]", :use_hidden => true })
|
||||
end
|
||||
|
||||
def test_select_datetime
|
||||
expected = %(<select id="date_first_year" name="date[first][year]">\n)
|
||||
expected << %(<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
|
||||
|
@ -1223,6 +1232,18 @@ class DateHelperTest < ActionView::TestCase
|
|||
:prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year', :hour => 'Choose hour', :minute => 'Choose minute'})
|
||||
end
|
||||
|
||||
def test_select_datetime_with_hidden
|
||||
expected = %(<input id="date_first_year" name="date[first][year]" type="hidden" value="2003" />\n)
|
||||
expected << %(<input id="date_first_month" name="date[first][month]" type="hidden" value="8" />\n)
|
||||
expected << %(<input id="date_first_day" name="date[first][day]" type="hidden" value="16" />\n)
|
||||
expected << %(<input id="date_first_hour" name="date[first][hour]" type="hidden" value="8" />\n)
|
||||
expected << %(<input id="date_first_minute" name="date[first][minute]" type="hidden" value="4" />\n)
|
||||
|
||||
assert_dom_equal expected, select_datetime(Time.mktime(2003, 8, 16, 8, 4, 18), :prefix => "date[first]", :use_hidden => true)
|
||||
assert_dom_equal expected, select_datetime(Time.mktime(2003, 8, 16, 8, 4, 18), :datetime_separator => "—", :date_separator => "/",
|
||||
:time_separator => ":", :prefix => "date[first]", :use_hidden => true)
|
||||
end
|
||||
|
||||
def test_select_time
|
||||
expected = %(<input name="date[year]" id="date_year" value="2003" type="hidden" />\n)
|
||||
expected << %(<input name="date[month]" id="date_month" value="8" type="hidden" />\n)
|
||||
|
@ -1398,6 +1419,17 @@ class DateHelperTest < ActionView::TestCase
|
|||
:prompt => {:hour => 'Choose hour', :minute => 'Choose minute', :second => 'Choose seconds'})
|
||||
end
|
||||
|
||||
def test_select_time_with_hidden
|
||||
expected = %(<input id="date_first_year" name="date[first][year]" type="hidden" value="2003" />\n)
|
||||
expected << %(<input id="date_first_month" name="date[first][month]" type="hidden" value="8" />\n)
|
||||
expected << %(<input id="date_first_day" name="date[first][day]" type="hidden" value="16" />\n)
|
||||
expected << %(<input id="date_first_hour" name="date[first][hour]" type="hidden" value="8" />\n)
|
||||
expected << %(<input id="date_first_minute" name="date[first][minute]" type="hidden" value="4" />\n)
|
||||
|
||||
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :prefix => "date[first]", :use_hidden => true)
|
||||
assert_dom_equal expected, select_time(Time.mktime(2003, 8, 16, 8, 4, 18), :time_separator => ":", :prefix => "date[first]", :use_hidden => true)
|
||||
end
|
||||
|
||||
def test_date_select
|
||||
@post = Post.new
|
||||
@post.written_on = Date.new(2004, 6, 15)
|
||||
|
|
Loading…
Reference in a new issue