mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Improve test of private properties of objects in form tags
This commit is contained in:
parent
1ff67d8286
commit
0d6a56d635
1 changed files with 9 additions and 28 deletions
|
@ -154,28 +154,10 @@ class FormHelperTest < ActionView::TestCase
|
|||
def initialize; end
|
||||
end
|
||||
|
||||
class FooObject
|
||||
|
||||
def method_missing(*args)
|
||||
nil
|
||||
end
|
||||
|
||||
private
|
||||
def private_property
|
||||
raise "This method should not be called."
|
||||
end
|
||||
end
|
||||
|
||||
def test_tags_base_child_without_render_method
|
||||
assert_raise(NotImplementedError) { FooTag.new.render }
|
||||
end
|
||||
|
||||
def test_tags_base_value_honors_public_private
|
||||
test_object = Class.new { private def my_method ; end }.new
|
||||
tag = ActionView::Helpers::Tags::Base.new 'test_object', :my_method, nil
|
||||
assert_raise(NoMethodError) { tag.send :value, test_object }
|
||||
end
|
||||
|
||||
def test_label
|
||||
assert_dom_equal('<label for="post_title">Title</label>', label("post", "title"))
|
||||
assert_dom_equal(
|
||||
|
@ -1804,18 +1786,17 @@ class FormHelperTest < ActionView::TestCase
|
|||
end
|
||||
|
||||
def test_form_tags_do_not_call_private_properties_on_form_object
|
||||
obj = FooObject.new
|
||||
obj = Class.new do
|
||||
private
|
||||
|
||||
def private_property
|
||||
raise "This method should not be called."
|
||||
end
|
||||
end.new
|
||||
|
||||
form_for(obj, as: "other_name", url: '/', html: { id: "edit-other-name" }) do |f|
|
||||
concat f.hidden_field(:private_property)
|
||||
concat f.submit('Create Foo')
|
||||
assert_raise(NoMethodError) { f.hidden_field(:private_property) }
|
||||
end
|
||||
|
||||
expected = whole_form("/", "edit-other-name", "new_other_name", method: "post") do
|
||||
"<input id='other_name_private_property' name='other_name[private_property]' type='hidden' />" +
|
||||
"<input name='commit' value='Create Foo' type='submit' />"
|
||||
end
|
||||
|
||||
assert_dom_equal expected, output_buffer
|
||||
end
|
||||
|
||||
def test_form_for_with_method_as_part_of_html_options
|
||||
|
|
Loading…
Reference in a new issue