Merge pull request #4604 from ihid/3-2-stable

3-2-stable: Fixed regression - unable to use a range as choices for form.select.
This commit is contained in:
José Valim
2012-01-22 06:09:35 -08:00
2 changed files with 17 additions and 0 deletions

View File

@@ -578,6 +578,7 @@ module ActionView
def to_select_tag(choices, options, html_options)
selected_value = options.has_key?(:selected) ? options[:selected] : value(object)
choices = choices.to_a if choices.is_a?(Range)
# Grouped choices look like this:
#

View File

@@ -159,6 +159,13 @@ class FormOptionsHelperTest < ActionView::TestCase
)
end
def test_range_options_for_select
assert_dom_equal(
"<option value=\"1\">1</option>\n<option value=\"2\">2</option>\n<option value=\"3\">3</option>",
options_for_select(1..3)
)
end
def test_hash_options_for_select
assert_dom_equal(
"<option value=\"&lt;Kroner&gt;\">&lt;DKR&gt;</option>\n<option value=\"Dollar\">$</option>",
@@ -671,6 +678,15 @@ class FormOptionsHelperTest < ActionView::TestCase
)
end
def test_select_with_range
@post = Post.new
@post.category = 0
assert_dom_equal(
"<select id=\"post_category\" name=\"post[category]\"><option value=\"1\">1</option>\n<option value=\"2\">2</option>\n<option value=\"3\">3</option></select>",
select("post", "category", 1..3)
)
end
def test_collection_select
@post = Post.new
@post.author_name = "Babe"