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)
36
36
# Avoid issues with setting the default_locale by disabling available locales
37
37
# check while configuring.
38
38
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
+
40
44
I18n . enforce_available_locales = false
41
45
42
46
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
198
198
end
199
199
end
200
200
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
+
202
204
add_to_config <<-RUBY
203
205
config.i18n.enforce_available_locales = false
204
206
config.i18n.default_locale = :fr
@@ -213,10 +215,28 @@ class Foo < ActiveRecord::Base
213
215
end
214
216
end
215
217
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
217
236
I18n . enforce_available_locales = false
218
237
219
238
add_to_config <<-RUBY
239
+ config.i18n.enforce_available_locales = false
220
240
config.i18n.default_locale = :fr
221
241
RUBY
222
242
You can’t perform that action at this time.
0 commit comments