From 3b3975b7dbc115636188126eed2a15bebd4e2c98 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Mon, 11 Feb 2019 13:15:53 -0800 Subject: Add a failing test for #35222 --- actionview/test/fixtures/test/_first.xml.erb | 1 + actionview/test/fixtures/test/_second.html.erb | 1 + actionview/test/fixtures/test/_second.xml.erb | 1 + actionview/test/fixtures/test/mixing_formats.html.erb | 5 +++++ actionview/test/template/render_test.rb | 6 ++++++ 5 files changed, 14 insertions(+) create mode 100644 actionview/test/fixtures/test/_first.xml.erb create mode 100644 actionview/test/fixtures/test/_second.html.erb create mode 100644 actionview/test/fixtures/test/_second.xml.erb create mode 100644 actionview/test/fixtures/test/mixing_formats.html.erb diff --git a/actionview/test/fixtures/test/_first.xml.erb b/actionview/test/fixtures/test/_first.xml.erb new file mode 100644 index 0000000000..6dad140cd4 --- /dev/null +++ b/actionview/test/fixtures/test/_first.xml.erb @@ -0,0 +1 @@ +XML diff --git a/actionview/test/fixtures/test/_second.html.erb b/actionview/test/fixtures/test/_second.html.erb new file mode 100644 index 0000000000..f05185c383 --- /dev/null +++ b/actionview/test/fixtures/test/_second.html.erb @@ -0,0 +1 @@ +HTML diff --git a/actionview/test/fixtures/test/_second.xml.erb b/actionview/test/fixtures/test/_second.xml.erb new file mode 100644 index 0000000000..6dad140cd4 --- /dev/null +++ b/actionview/test/fixtures/test/_second.xml.erb @@ -0,0 +1 @@ +XML diff --git a/actionview/test/fixtures/test/mixing_formats.html.erb b/actionview/test/fixtures/test/mixing_formats.html.erb new file mode 100644 index 0000000000..bb4a1d182a --- /dev/null +++ b/actionview/test/fixtures/test/mixing_formats.html.erb @@ -0,0 +1,5 @@ +{"format":"HTML", "children": +[ + "<%= render(partial: "first", formats: :xml).chomp %>", + "<%= render(partial: "second").chomp %>" +]} diff --git a/actionview/test/template/render_test.rb b/actionview/test/template/render_test.rb index 3f298d81f3..a0b493af9d 100644 --- a/actionview/test/template/render_test.rb +++ b/actionview/test/template/render_test.rb @@ -30,6 +30,12 @@ module RenderTestCases assert_equal ORIGINAL_LOCALES, I18n.available_locales.map(&:to_s).sort end + def test_implicit_format_comes_from_parent_template + rendered_templates = JSON.parse(@controller_view.render(template: "test/mixing_formats")) + assert_equal({ "format" => "HTML", + "children" => ["XML", "HTML"]}, rendered_templates) + end + def test_render_without_options e = assert_raises(ArgumentError) { @view.render() } assert_match(/You invoked render but did not give any of (.+) option\./, e.message) -- cgit v1.2.3