diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2016-01-05 16:48:09 -0300 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2016-01-05 16:54:39 -0300 |
commit | 8a998b0fa7523c2c8eb6d0cf56e40408bf6e9b2e (patch) | |
tree | ef2882e2bc4ac881234c39b72e85893567570ef7 /actionview/test | |
parent | 3d90a6348d1541a2ecd00d959f9eec99ec78905a (diff) | |
download | rails-8a998b0fa7523c2c8eb6d0cf56e40408bf6e9b2e.tar.gz rails-8a998b0fa7523c2c8eb6d0cf56e40408bf6e9b2e.tar.bz2 rails-8a998b0fa7523c2c8eb6d0cf56e40408bf6e9b2e.zip |
Add Html template handler that wraps Raw output in an OutputBuffer
This fixes the case when you try to render an html you know safe and the
file is named something.html. With this commit the content of the html
won't be escaped anymore because AV won't use Raw handler and choose
Html handler instead.
Diffstat (limited to 'actionview/test')
-rw-r--r-- | actionview/test/fixtures/layouts/render_partial_html.erb | 2 | ||||
-rw-r--r-- | actionview/test/fixtures/test/_partialhtml.html | 1 | ||||
-rw-r--r-- | actionview/test/template/render_test.rb | 7 |
3 files changed, 9 insertions, 1 deletions
diff --git a/actionview/test/fixtures/layouts/render_partial_html.erb b/actionview/test/fixtures/layouts/render_partial_html.erb new file mode 100644 index 0000000000..d4dbb6c76c --- /dev/null +++ b/actionview/test/fixtures/layouts/render_partial_html.erb @@ -0,0 +1,2 @@ +<%= render :partial => 'test/partialhtml' %> +<%= yield %> diff --git a/actionview/test/fixtures/test/_partialhtml.html b/actionview/test/fixtures/test/_partialhtml.html new file mode 100644 index 0000000000..afe39b730a --- /dev/null +++ b/actionview/test/fixtures/test/_partialhtml.html @@ -0,0 +1 @@ +<h1>partial html</h1>
\ No newline at end of file diff --git a/actionview/test/template/render_test.rb b/actionview/test/template/render_test.rb index 994fd44c52..b63c315a33 100644 --- a/actionview/test/template/render_test.rb +++ b/actionview/test/template/render_test.rb @@ -71,7 +71,7 @@ module RenderTestCases e = assert_raise ActionView::Template::Error do @view.render(:template => "with_format", :formats => [:json]) end - assert_includes(e.message, "Missing partial /_missing with {:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:raw, :erb, :builder, :ruby]}.") + assert_includes(e.message, "Missing partial /_missing with {:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby]}.") end def test_render_file_with_locale @@ -467,6 +467,11 @@ module RenderTestCases @view.render(:file => "test/hello_world", :layout => "layouts/yield_with_render_partial_inside") end + def test_render_partial_with_html_only_extension + assert_equal %(<h1>partial html</h1>\nHello world!\n), + @view.render(:file => "test/hello_world", :layout => "layouts/render_partial_html") + end + def test_render_layout_with_block_and_yield assert_equal %(Content from block!\n), @view.render(:layout => "layouts/yield_only") { "Content from block!" } |