diff options
Diffstat (limited to 'actionpack/test')
-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 |