Skip to content
This repository
Browse code

Make MissingTranslation exception handler respect :rescue_format

  • Loading branch information...
commit 0ac0d7a0f03da3d08440c74477d653622d61a26e 1 parent 56b301f
Andrew White pixeltrix authored
6 actionpack/lib/action_view/helpers/translation_helper.rb
@@ -5,7 +5,11 @@ module I18n
5 5 class ExceptionHandler
6 6 include Module.new {
7 7 def call(exception, locale, key, options)
8   - exception.is_a?(MissingTranslation) ? super.html_safe : super
  8 + if exception.is_a?(MissingTranslation)
  9 + options[:rescue_format] == :html ? super.html_safe : super
  10 + else
  11 + super
  12 + end
9 13 end
10 14 }
11 15 end
8 actionpack/test/template/translation_helper_test.rb
@@ -38,11 +38,19 @@ def test_delegates_localize_to_i18n
38 38 def test_returns_missing_translation_message_wrapped_into_span
39 39 expected = '<span class="translation_missing" title="translation missing: en.translations.missing">Missing</span>'
40 40 assert_equal expected, translate(:"translations.missing")
  41 + assert_equal true, translate(:"translations.missing").html_safe?
41 42 end
42 43
43 44 def test_returns_missing_translation_message_using_nil_as_rescue_format
44 45 expected = 'translation missing: en.translations.missing'
45 46 assert_equal expected, translate(:"translations.missing", :rescue_format => nil)
  47 + assert_equal false, translate(:"translations.missing", :rescue_format => nil).html_safe?
  48 + end
  49 +
  50 + def test_i18n_translate_defaults_to_nil_rescue_format
  51 + expected = 'translation missing: en.translations.missing'
  52 + assert_equal expected, I18n.translate(:"translations.missing")
  53 + assert_equal false, I18n.translate(:"translations.missing").html_safe?
46 54 end
47 55
48 56 def test_translation_returning_an_array

0 comments on commit 0ac0d7a

Please sign in to comment.
Something went wrong with that request. Please try again.