diff options
author | Sam Pohlenz <sam@sampohlenz.com> | 2017-05-17 13:03:27 +0930 |
---|---|---|
committer | Sam Pohlenz <sam@sampohlenz.com> | 2017-05-17 13:03:27 +0930 |
commit | efe62b71d52c40849ead8855fb4f42fae91d4c54 (patch) | |
tree | 2f01c95c0b2c23e17f5945fb78efb3f86c4efe76 /actionview/test/template | |
parent | 0714251b2d0d422dc3ffc852eeb604281195b0c2 (diff) | |
download | rails-efe62b71d52c40849ead8855fb4f42fae91d4c54.tar.gz rails-efe62b71d52c40849ead8855fb4f42fae91d4c54.tar.bz2 rails-efe62b71d52c40849ead8855fb4f42fae91d4c54.zip |
Fix select tag helper used with Enumerable choices
Allows a custom object implementing Enumerable to be used as the choices
parameter for a select tag, which previously wasn't possible due to the
call to `empty?` on the choices (which isn't implemented on Enumerable).
Diffstat (limited to 'actionview/test/template')
-rw-r--r-- | actionview/test/template/form_options_helper_test.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/actionview/test/template/form_options_helper_test.rb b/actionview/test/template/form_options_helper_test.rb index 258dcdb806..3247f20ba7 100644 --- a/actionview/test/template/form_options_helper_test.rb +++ b/actionview/test/template/form_options_helper_test.rb @@ -6,6 +6,15 @@ class Map < Hash end end +class CustomEnumerable + include Enumerable + + def each + yield "one" + yield "two" + end +end + class FormOptionsHelperTest < ActionView::TestCase tests ActionView::Helpers::FormOptionsHelper @@ -904,6 +913,14 @@ class FormOptionsHelperTest < ActionView::TestCase ) end + def test_select_with_enumerable + @post = Post.new + assert_dom_equal( + "<select id=\"post_category\" name=\"post[category]\"><option value=\"one\">one</option>\n<option value=\"two\">two</option></select>", + select("post", "category", CustomEnumerable.new) + ) + end + def test_collection_select @post = Post.new @post.author_name = "Babe" |