@@ -70,12 +70,23 @@ def setup
7070 assert_equal Hash [ :'en' , { :foo => { :bar => 'bar' , :baz => 'baz' } } ] , translations
7171 end
7272
73- test "simple store_translations: do not store translations for locales not explicitly marked as available" do
73+ test "simple store_translations: do not store translations unavailable locales if enforce_available_locales is true" do
74+ begin
75+ I18n . enforce_available_locales = true
76+ I18n . available_locales = [ :en , :es ]
77+ store_translations ( :fr , :foo => { :bar => 'barfr' , :baz => 'bazfr' } )
78+ store_translations ( :es , :foo => { :bar => 'bares' , :baz => 'bazes' } )
79+ assert_nil translations [ :fr ]
80+ assert_equal Hash [ :foo , { :bar => 'bares' , :baz => 'bazes' } ] , translations [ :es ]
81+ ensure
82+ I18n . config . enforce_available_locales = false
83+ end
84+ end
85+
86+ test "simple store_translations: store translations for unavailable locales if enforce_available_locales is false" do
7487 I18n . available_locales = [ :en , :es ]
7588 store_translations ( :fr , :foo => { :bar => 'barfr' , :baz => 'bazfr' } )
76- store_translations ( :es , :foo => { :bar => 'bares' , :baz => 'bazes' } )
77- assert_nil translations [ :fr ]
78- assert_equal Hash [ :foo , { :bar => 'bares' , :baz => 'bazes' } ] , translations [ :es ]
89+ assert_equal Hash [ :foo , { :bar => 'barfr' , :baz => 'bazfr' } ] , translations [ :fr ]
7990 end
8091
8192 # reloading translations
0 commit comments