diff options
author | George Claghorn <george.claghorn@gmail.com> | 2017-12-29 20:15:26 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-29 20:15:26 -0500 |
commit | 35e9638daffd0f844ee072418fcd73472aa283ec (patch) | |
tree | c83d760563449fafaed78d841fcdaacb221195a5 /actionview/test | |
parent | 6bd465e1bff36c541a992731922f967985ad0eeb (diff) | |
parent | 0d73056436329c21aa0cca972964e8df49670391 (diff) | |
download | rails-35e9638daffd0f844ee072418fcd73472aa283ec.tar.gz rails-35e9638daffd0f844ee072418fcd73472aa283ec.tar.bz2 rails-35e9638daffd0f844ee072418fcd73472aa283ec.zip |
Merge pull request #31578 from Aquaj/feature/allow-callables-in-select-group-methods
Allow the use of callable objects as group methods for grouped selects.
Diffstat (limited to 'actionview/test')
-rw-r--r-- | actionview/test/template/form_options_helper_test.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/actionview/test/template/form_options_helper_test.rb b/actionview/test/template/form_options_helper_test.rb index 82b5b79e82..642f450f91 100644 --- a/actionview/test/template/form_options_helper_test.rb +++ b/actionview/test/template/form_options_helper_test.rb @@ -337,6 +337,22 @@ class FormOptionsHelperTest < ActionView::TestCase ) end + def test_option_groups_from_collection_for_select_with_callable_group_method + group_proc = Proc.new { |c| c.countries } + assert_dom_equal( + "<optgroup label=\"<Africa>\"><option value=\"<sa>\"><South Africa></option>\n<option value=\"so\">Somalia</option></optgroup><optgroup label=\"Europe\"><option value=\"dk\" selected=\"selected\">Denmark</option>\n<option value=\"ie\">Ireland</option></optgroup>", + option_groups_from_collection_for_select(dummy_continents, group_proc, "continent_name", "country_id", "country_name", "dk") + ) + end + + def test_option_groups_from_collection_for_select_with_callable_group_label_method + label_proc = Proc.new { |c| c.continent_name } + assert_dom_equal( + "<optgroup label=\"<Africa>\"><option value=\"<sa>\"><South Africa></option>\n<option value=\"so\">Somalia</option></optgroup><optgroup label=\"Europe\"><option value=\"dk\" selected=\"selected\">Denmark</option>\n<option value=\"ie\">Ireland</option></optgroup>", + option_groups_from_collection_for_select(dummy_continents, "countries", label_proc, "country_id", "country_name", "dk") + ) + end + def test_option_groups_from_collection_for_select_returns_html_safe_string assert option_groups_from_collection_for_select(dummy_continents, "countries", "continent_name", "country_id", "country_name", "dk").html_safe? end |