1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
require File.dirname(__FILE__) + '/../test_helper'
require 'i18n/missing_translations_log_handler'
class MissingTranslationsTest < ActiveSupport::TestCase
test "defines I18n.missing_translations_logger accessor" do
assert I18n.respond_to?(:missing_translations_logger)
end
test "defines I18n.missing_translations_logger= writer" do
assert I18n.respond_to?(:missing_translations_logger=)
end
end
class TestLogger < String
def warn(msg) self.concat msg; end
end
class LogMissingTranslationsTest < ActiveSupport::TestCase
def setup
@locale, @key, @options = :en, :foo, {}
@exception = I18n::MissingTranslationData.new(@locale, @key, @options)
@logger = TestLogger.new
I18n.missing_translations_logger = @logger
end
test "still returns the exception message for MissingTranslationData exceptions" do
result = I18n.send(:missing_translations_log_handler, @exception, @locale, @key, @options)
assert_equal 'translation missing: en, foo', result
end
test "logs the missing translation to I18n.missing_translations_logger" do
I18n.send(:missing_translations_log_handler, @exception, @locale, @key, @options)
assert_equal 'translation missing: en, foo', @logger
end
end
|