mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
add time_separator for minutes only if minutes aren't hidden
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
This commit is contained in:
committed by
David Heinemeier Hansson
parent
df85ab41c1
commit
f76eaa4b7c
@@ -907,7 +907,7 @@ module ActionView
|
||||
when :hour
|
||||
(@options[:discard_year] && @options[:discard_day]) ? "" : @options[:datetime_separator]
|
||||
when :minute
|
||||
@options[:time_separator]
|
||||
@options[:discard_minute] ? "" : @options[:time_separator]
|
||||
when :second
|
||||
@options[:include_seconds] ? @options[:time_separator] : ""
|
||||
end
|
||||
|
||||
@@ -2173,6 +2173,47 @@ class DateHelperTest < ActionView::TestCase
|
||||
assert_dom_equal expected, datetime_select("post", "updated_at", :discard_year => true, :discard_month => true)
|
||||
end
|
||||
|
||||
def test_datetime_select_discard_hour
|
||||
@post = Post.new
|
||||
@post.updated_at = Time.local(2004, 6, 15, 15, 16, 35)
|
||||
|
||||
expected = %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
|
||||
1999.upto(2009) { |i| expected << %(<option value="#{i}"#{' selected="selected"' if i == 2004}>#{i}</option>\n) }
|
||||
expected << "</select>\n"
|
||||
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
|
||||
1.upto(12) { |i| expected << %(<option value="#{i}"#{' selected="selected"' if i == 6}>#{Date::MONTHNAMES[i]}</option>\n) }
|
||||
expected << "</select>\n"
|
||||
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
|
||||
1.upto(31) { |i| expected << %(<option value="#{i}"#{' selected="selected"' if i == 15}>#{i}</option>\n) }
|
||||
expected << "</select>\n"
|
||||
|
||||
assert_dom_equal expected, datetime_select("post", "updated_at", :discard_hour => true)
|
||||
end
|
||||
|
||||
def test_datetime_select_discard_minute
|
||||
@post = Post.new
|
||||
@post.updated_at = Time.local(2004, 6, 15, 15, 16, 35)
|
||||
|
||||
expected = %{<select id="post_updated_at_1i" name="post[updated_at(1i)]">\n}
|
||||
1999.upto(2009) { |i| expected << %(<option value="#{i}"#{' selected="selected"' if i == 2004}>#{i}</option>\n) }
|
||||
expected << "</select>\n"
|
||||
expected << %{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
|
||||
1.upto(12) { |i| expected << %(<option value="#{i}"#{' selected="selected"' if i == 6}>#{Date::MONTHNAMES[i]}</option>\n) }
|
||||
expected << "</select>\n"
|
||||
expected << %{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
|
||||
1.upto(31) { |i| expected << %(<option value="#{i}"#{' selected="selected"' if i == 15}>#{i}</option>\n) }
|
||||
expected << "</select>\n"
|
||||
|
||||
expected << " — "
|
||||
|
||||
expected << %{<select id="post_updated_at_4i" name="post[updated_at(4i)]">\n}
|
||||
0.upto(23) { |i| expected << %(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 15}>#{sprintf("%02d", i)}</option>\n) }
|
||||
expected << "</select>\n"
|
||||
expected << %{<input type="hidden" id="post_updated_at_5i" name="post[updated_at(5i)]" value="16" />\n}
|
||||
|
||||
assert_dom_equal expected, datetime_select("post", "updated_at", :discard_minute => true)
|
||||
end
|
||||
|
||||
def test_datetime_select_invalid_order
|
||||
@post = Post.new
|
||||
@post.updated_at = Time.local(2004, 6, 15, 15, 16, 35)
|
||||
|
||||
Reference in New Issue
Block a user