diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2019-03-28 14:53:22 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-28 14:53:22 -0400 |
commit | e3f5f1c936869b81b01835adc9c683e058edfeaf (patch) | |
tree | 7cc31fadaa654951237faf843015be6b070ae382 /actionview/test | |
parent | 78ace9cd080e626feb89ffb9e4142f0b672a53b3 (diff) | |
parent | 07804d4759726da04020834502d37a8f4ac97a8f (diff) | |
download | rails-e3f5f1c936869b81b01835adc9c683e058edfeaf.tar.gz rails-e3f5f1c936869b81b01835adc9c683e058edfeaf.tar.bz2 rails-e3f5f1c936869b81b01835adc9c683e058edfeaf.zip |
Merge pull request #35308 from erose/better-error-reporting-for-syntax-errors-in-templates
Display a more helpful error message when an ERB template has a Ruby syntax error.
Diffstat (limited to 'actionview/test')
-rw-r--r-- | actionview/test/fixtures/test/syntax_error.html.erb | 4 | ||||
-rw-r--r-- | actionview/test/template/render_test.rb | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/actionview/test/fixtures/test/syntax_error.html.erb b/actionview/test/fixtures/test/syntax_error.html.erb new file mode 100644 index 0000000000..4004a2b187 --- /dev/null +++ b/actionview/test/fixtures/test/syntax_error.html.erb @@ -0,0 +1,4 @@ +<%= foo( + 1, + 2, +%> diff --git a/actionview/test/template/render_test.rb b/actionview/test/template/render_test.rb index f0fed601f8..dbce370350 100644 --- a/actionview/test/template/render_test.rb +++ b/actionview/test/template/render_test.rb @@ -259,6 +259,12 @@ module RenderTestCases "and is followed by any combination of letters, numbers and underscores.", e.message end + def test_render_template_with_syntax_error + e = assert_raises(ActionView::Template::Error) { @view.render(template: "test/syntax_error") } + assert_match %r!syntax!, e.message + assert_equal "1: <%= foo(", e.annoted_source_code[0].strip + end + def test_render_partial_with_errors e = assert_raises(ActionView::Template::Error) { @view.render(partial: "test/raise") } assert_match %r!method.*doesnt_exist!, e.message |