@@ -26,8 +26,28 @@ def test_reload_if_messages_are_not_latest
26
26
assert_equal custom_message_setting . updated_on . to_i . to_s , I18n . backend . send ( :translations ) [ :en ] [ :redmine_message_customize_timestamp ]
27
27
end
28
28
29
+ def test_reload_if_user_language_is_auto_and_browser_language_messages_are_not_latest
30
+ # Reload based on the browser language if the language in User.current is ''(auto)
31
+ User . find_by_login ( 'admin' ) . update ( language : '' )
32
+ log_user ( 'admin' , 'admin' )
33
+ custom_message_setting = CustomMessageSetting . find_or_default
34
+
35
+ custom_message_setting . update_with_custom_messages ( { 'label_home' => 'Changed home' } , 'ja' )
36
+ assert_equal 'Home2' , I18n . backend . send ( :translations ) [ :ja ] [ :label_home ]
37
+ assert_equal '1640995200' , I18n . backend . send ( :translations ) [ :ja ] [ :redmine_message_customize_timestamp ]
38
+ with_settings :default_language => 'en' do
39
+ dummy_http_headers = @request . env
40
+ dummy_http_headers [ 'HTTP_ACCEPT_LANGUAGE' ] = 'ja'
41
+ ActionDispatch ::Request . any_instance . stubs ( :env ) . returns ( dummy_http_headers )
42
+
43
+ get '/issues'
44
+ end
45
+ assert_equal 'Changed home' , I18n . backend . send ( :translations ) [ :ja ] [ :label_home ]
46
+ assert_equal custom_message_setting . updated_on . to_i . to_s , I18n . backend . send ( :translations ) [ :ja ] [ :redmine_message_customize_timestamp ]
47
+ end
48
+
29
49
def test_reload_if_user_language_is_auto_and_default_language_messages_are_not_latest
30
- # User.currentのlanguageが ''(auto)でもSetting.default_languageを元に用語の最新化を行うこと
50
+ # Reload based on the default language if the language in User.current is ''(auto) and request.env['HTTP_ACCEPT_LANGUAGE'] is nil
31
51
User . find_by_login ( 'admin' ) . update ( language : '' )
32
52
log_user ( 'admin' , 'admin' )
33
53
custom_message_setting = CustomMessageSetting . find_or_default
0 commit comments