diff options
author | Sam Pohlenz <sam@sampohlenz.com> | 2011-06-22 10:54:45 +0930 |
---|---|---|
committer | Sam Pohlenz <sam@sampohlenz.com> | 2011-06-22 10:54:45 +0930 |
commit | 237f87089cbb01da50408cc07dffc89a7ebf6854 (patch) | |
tree | 0d5a2f838d8a60a499f0624f22ca256d8cf36d96 /actionpack | |
parent | e69eed0e10c0670869aea396cb79002da4f4580a (diff) | |
download | rails-237f87089cbb01da50408cc07dffc89a7ebf6854.tar.gz rails-237f87089cbb01da50408cc07dffc89a7ebf6854.tar.bz2 rails-237f87089cbb01da50408cc07dffc89a7ebf6854.zip |
Use real hash model in nested fields_for with hash model test
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/test/lib/controller/fake_models.rb | 11 | ||||
-rw-r--r-- | actionpack/test/template/form_helper_test.rb | 6 |
2 files changed, 13 insertions, 4 deletions
diff --git a/actionpack/test/lib/controller/fake_models.rb b/actionpack/test/lib/controller/fake_models.rb index 67baf369e2..cbef74f992 100644 --- a/actionpack/test/lib/controller/fake_models.rb +++ b/actionpack/test/lib/controller/fake_models.rb @@ -170,6 +170,17 @@ class Author < Comment def post_attributes=(attributes); end end +class HashBackedAuthor < Hash + extend ActiveModel::Naming + include ActiveModel::Conversion + + def persisted?; false; end + + def name + "hash backed author" + end +end + module Blog def self._railtie self diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb index 4d90e8968d..bf65a9359b 100644 --- a/actionpack/test/template/form_helper_test.rb +++ b/actionpack/test/template/form_helper_test.rb @@ -1690,9 +1690,7 @@ class FormHelperTest < ActionView::TestCase end def test_nested_fields_for_with_hash_like_model - @author = Author.new - def @author.is_a?(klass); klass == Hash; end - def @author.extractable_options?; false; end + @author = HashBackedAuthor.new form_for(@post) do |f| concat f.fields_for(:author, @author) { |af| @@ -1701,7 +1699,7 @@ class FormHelperTest < ActionView::TestCase end expected = whole_form('/posts/123', 'edit_post_123', 'edit_post', :method => 'put') do - '<input id="post_author_attributes_name" name="post[author_attributes][name]" size="30" type="text" value="new author" />' + '<input id="post_author_attributes_name" name="post[author_attributes][name]" size="30" type="text" value="hash backed author" />' end assert_dom_equal expected, output_buffer |