aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
diff options
context:
space:
mode:
authorSam Pohlenz <sam@sampohlenz.com>2011-06-22 10:54:45 +0930
committerSam Pohlenz <sam@sampohlenz.com>2011-06-22 10:54:45 +0930
commit237f87089cbb01da50408cc07dffc89a7ebf6854 (patch)
tree0d5a2f838d8a60a499f0624f22ca256d8cf36d96 /actionpack/test
parente69eed0e10c0670869aea396cb79002da4f4580a (diff)
downloadrails-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/test')
-rw-r--r--actionpack/test/lib/controller/fake_models.rb11
-rw-r--r--actionpack/test/template/form_helper_test.rb6
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