Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Infer currency negative format from positive one. #4296

Merged
merged 1 commit into from

2 participants

@kuroda

When a locale file sets the format of the positive currency as '%n %u', the default negative
currency format should be '-%n %u'.

@kuroda kuroda Infer currency negative format from positive one.
When a locale file sets the format of the positive
currency value as '%n %u', the default negative
currency format should be '-%n %u'.
6724c8c
@tenderlove tenderlove merged commit 5708648 into rails:master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Jan 4, 2012
  1. @kuroda

    Infer currency negative format from positive one.

    kuroda authored
    When a locale file sets the format of the positive
    currency value as '%n %u', the default negative
    currency format should be '-%n %u'.
This page is out of date. Refresh to see the latest.
View
1  actionpack/lib/action_view/helpers/number_helper.rb
@@ -114,6 +114,7 @@ def number_to_currency(number, options = {})
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]
View
7 actionpack/test/template/number_helper_i18n_test.rb
@@ -53,6 +53,13 @@ def test_number_to_currency_with_clean_i18n_settings
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 ""
Something went wrong with that request. Please try again.