diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-01-05 09:18:24 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-01-05 09:18:24 -0800 |
commit | 867a7927ae0d4dc1c5d882de81c7f8e3c11ce692 (patch) | |
tree | d2906e6bf7769117e5dc88fdd93cf7bae5b2fb18 | |
parent | d268ef2f6599cd58cc27a8c9f0b9b6649f62e6a2 (diff) | |
parent | 22f901cc9db4603d775e4e0a96b0775ca08eebce (diff) | |
download | rails-867a7927ae0d4dc1c5d882de81c7f8e3c11ce692.tar.gz rails-867a7927ae0d4dc1c5d882de81c7f8e3c11ce692.tar.bz2 rails-867a7927ae0d4dc1c5d882de81c7f8e3c11ce692.zip |
Merge pull request #4311 from kuroda/3-2-negative_format
Infer currency negative format from positive one. (3-2-stable)
-rw-r--r-- | actionpack/lib/action_view/helpers/number_helper.rb | 1 | ||||
-rw-r--r-- | actionpack/test/template/number_helper_i18n_test.rb | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/actionpack/lib/action_view/helpers/number_helper.rb b/actionpack/lib/action_view/helpers/number_helper.rb index 736e2cd57b..a325eb59dc 100644 --- a/actionpack/lib/action_view/helpers/number_helper.rb +++ b/actionpack/lib/action_view/helpers/number_helper.rb @@ -128,6 +128,7 @@ module ActionView defaults = I18n.translate(:'number.format', :locale => options[:locale], :default => {}) currency = I18n.translate(:'number.currency.format', :locale => options[:locale], :default => {}) + currency[:negative_format] ||= "-" + currency[:format] if currency[:format] defaults = DEFAULT_CURRENCY_VALUES.merge(defaults).merge!(currency) defaults[:negative_format] = "-" + options[:format] if options[:format] diff --git a/actionpack/test/template/number_helper_i18n_test.rb b/actionpack/test/template/number_helper_i18n_test.rb index 5df09b4d3b..d6e9de9555 100644 --- a/actionpack/test/template/number_helper_i18n_test.rb +++ b/actionpack/test/template/number_helper_i18n_test.rb @@ -53,6 +53,13 @@ class NumberHelperTest < ActionView::TestCase assert_equal("-$10.00", number_to_currency(-10)) end end + + def test_number_to_currency_without_currency_negative_format + clean_i18n do + I18n.backend.store_translations 'ts', :number => { :currency => { :format => { :unit => '@', :format => '%n %u' } } } + assert_equal("-10.00 @", number_to_currency(-10, :locale => 'ts')) + end + end def test_number_with_i18n_precision #Delimiter was set to "" |