From 47b4d13c8d7602fc19229dd8cb70974e401b13b2 Mon Sep 17 00:00:00 2001 From: Carlos Antonio da Silva Date: Sun, 24 Jun 2012 20:02:52 -0300 Subject: Ensure I18n format values always have precedence over defaults Always merge I18n format values, namespaced or not, over the default ones, to ensure I18n format defaults will have precedence over our namespaced values. Precedence should happen like this: default :format default :namespace :format i18n :format i18n :namespace :format Because we cannot allow our namespaced default to override a I18n :format config - ie precision in I18n :format should always have higher precedence than our default precision for a particular :namespace. Also simplify default format options logic. --- activesupport/test/number_helper_i18n_test.rb | 7 +++++++ activesupport/test/number_helper_test.rb | 1 - 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'activesupport/test') diff --git a/activesupport/test/number_helper_i18n_test.rb b/activesupport/test/number_helper_i18n_test.rb index 4d0d5e8631..65aecece71 100644 --- a/activesupport/test/number_helper_i18n_test.rb +++ b/activesupport/test/number_helper_i18n_test.rb @@ -56,6 +56,13 @@ module ActiveSupport assert_equal("-$10.00", number_to_currency(-10, :locale => 'empty')) end + def test_locale_default_format_has_precedence_over_helper_defaults + I18n.backend.store_translations 'ts', + { :number => { :format => { :separator => ";" } } } + + assert_equal("&$ - 10;00", number_to_currency(10, :locale => 'ts')) + end + def test_number_to_currency_without_currency_negative_format I18n.backend.store_translations 'no_negative_format', :number => { :currency => { :format => { :unit => '@', :format => '%n %u' } } diff --git a/activesupport/test/number_helper_test.rb b/activesupport/test/number_helper_test.rb index f26d75edfb..5f54587f93 100644 --- a/activesupport/test/number_helper_test.rb +++ b/activesupport/test/number_helper_test.rb @@ -369,7 +369,6 @@ module ActiveSupport assert number_helper.respond_to?(:valid_float?, true) end end - end end end -- cgit v1.2.3