Fix rendering html partials from an rjs template

Signed-off-by: Joshua Peek <josh@joshpeek.com>
This commit is contained in:
Sam Stephenson 2008-12-04 16:35:13 -06:00 committed by Joshua Peek
parent 566a3dce67
commit ab211bf592
6 changed files with 29 additions and 1 deletions

@ -275,7 +275,7 @@ def template_format
if defined? @template_format
@template_format
elsif controller && controller.respond_to?(:request)
@template_format = controller.request.template_format
@template_format = controller.request.template_format.to_sym
else
@template_format = :html
end

@ -255,6 +255,12 @@ def render_html_only_partial_within_inline
render :inline => "Hello world <%= helper_method_to_render_to_string :partial => 'test/partial_with_only_html_version' %>"
end
def render_implicit_html_template
end
def render_explicit_html_template
end
def formatted_html_erb
end
@ -947,6 +953,24 @@ def test_rendering_html_only_partial_within_inline_with_js
assert_equal "Hello world partial with only html version", @response.body
end
def test_render_in_an_rjs_template_should_pick_html_templates_when_available
[:js, "js"].each do |format|
assert_nothing_raised do
get :render_implicit_html_template, :format => format
assert_equal %(document.write("Hello world\\n");), @response.body
end
end
end
def test_explicitly_rendering_an_html_template_with_implicit_html_template_renders_should_be_possible_from_an_rjs_template
[:js, "js"].each do |format|
assert_nothing_raised do
get :render_explicit_html_template, :format => format
assert_equal %(document.write("Hello world\\n");), @response.body
end
end
end
def test_should_render_formatted_template
get :formatted_html_erb
assert_equal 'formatted html erb', @response.body

@ -0,0 +1 @@
<%= render :partial => "two" %> world

@ -0,0 +1 @@
Hello

@ -0,0 +1 @@
page.call "document.write", render(:partial => "one.html.erb")

@ -0,0 +1 @@
page.call "document.write", render(:partial => "one")