File tree Expand file tree Collapse file tree 2 files changed +27
-3
lines changed 
activesupport/lib/active_support 
railties/test/application/initializers Expand file tree Collapse file tree 2 files changed +27
-3
lines changed Original file line number Diff line number Diff line change @@ -36,7 +36,11 @@ def self.initialize_i18n(app)
3636      # Avoid issues with setting the default_locale by disabling available locales 
3737      # check while configuring. 
3838      enforce_available_locales  =  app . config . i18n . delete ( :enforce_available_locales ) 
39-       enforce_available_locales  =  I18n . enforce_available_locales  unless  I18n . enforce_available_locales . nil? 
39+ 
40+       if  enforce_available_locales . nil? 
41+         enforce_available_locales  =  I18n . enforce_available_locales 
42+       end 
43+ 
4044      I18n . enforce_available_locales  =  false 
4145
4246      app . config . i18n . each  do  |setting ,  value |
Original file line number Diff line number Diff line change @@ -198,7 +198,9 @@ class Foo < ActiveRecord::Base
198198      end 
199199    end 
200200
201-     test  "disable config.i18n.enforce_available_locales"  do 
201+     test  "disable config.i18n.enforce_available_locales when initial value is nil"  do 
202+       I18n . enforce_available_locales  =  nil 
203+ 
202204      add_to_config  <<-RUBY 
203205        config.i18n.enforce_available_locales = false 
204206        config.i18n.default_locale = :fr 
@@ -213,10 +215,28 @@ class Foo < ActiveRecord::Base
213215      end 
214216    end 
215217
216-     test  "default config.i18n.enforce_available_locales does not override I18n.enforce_available_locales"  do 
218+     test  "disable config.i18n.enforce_available_locales when initial value is true"  do 
219+       I18n . enforce_available_locales  =  true 
220+ 
221+       add_to_config  <<-RUBY 
222+         config.i18n.enforce_available_locales = false 
223+         config.i18n.default_locale = :fr 
224+       RUBY 
225+ 
226+       output  =  capture ( :stderr )  {  load_app  } 
227+       assert_no_match  %r{deprecated.*enforce_available_locales} ,  output 
228+       assert_equal  false ,  I18n . enforce_available_locales 
229+ 
230+       assert_nothing_raised  do 
231+         I18n . locale  =  :es 
232+       end 
233+     end 
234+ 
235+     test  "disable config.i18n.enforce_available_locales when initial value is false"  do 
217236      I18n . enforce_available_locales  =  false 
218237
219238      add_to_config  <<-RUBY 
239+         config.i18n.enforce_available_locales = false 
220240        config.i18n.default_locale = :fr 
221241      RUBY 
222242
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments