From c4d977fbbc31b0a6c7557846f9fe01e688a6f845 Mon Sep 17 00:00:00 2001
From: Don Wilson <robert.don.wilson@gmail.com>
Date: Tue, 2 Nov 2010 08:38:40 -0600
Subject: Added :negative_format option to number_to_currency function [#5894
 state:resolved]

Signed-off-by: Andrew White <andyw@pixeltrix.co.uk>
---
 actionpack/test/template/number_helper_i18n_test.rb | 5 ++++-
 actionpack/test/template/number_helper_test.rb      | 4 ++++
 2 files changed, 8 insertions(+), 1 deletion(-)

(limited to 'actionpack/test')

diff --git a/actionpack/test/template/number_helper_i18n_test.rb b/actionpack/test/template/number_helper_i18n_test.rb
index c82ead663f..5df09b4d3b 100644
--- a/actionpack/test/template/number_helper_i18n_test.rb
+++ b/actionpack/test/template/number_helper_i18n_test.rb
@@ -7,7 +7,7 @@ class NumberHelperTest < ActionView::TestCase
     I18n.backend.store_translations 'ts',
       :number => {
         :format => { :precision => 3, :delimiter => ',', :separator => '.', :significant => false, :strip_insignificant_zeros => false },
-        :currency => { :format => { :unit => '&$', :format => '%u - %n', :precision => 2 } },
+        :currency => { :format => { :unit => '&$', :format => '%u - %n', :negative_format => '(%u - %n)', :precision => 2 } },
         :human => {
           :format => {
             :precision => 2,
@@ -43,11 +43,14 @@ class NumberHelperTest < ActionView::TestCase
 
   def test_number_to_i18n_currency
     assert_equal("&$ - 10.00", number_to_currency(10, :locale => 'ts'))
+    assert_equal("(&$ - 10.00)", number_to_currency(-10, :locale => 'ts'))
+    assert_equal("-10.00 - &$", number_to_currency(-10, :locale => 'ts', :format => "%n - %u"))
   end
 
   def test_number_to_currency_with_clean_i18n_settings
     clean_i18n do
       assert_equal("$10.00", number_to_currency(10))
+      assert_equal("-$10.00", number_to_currency(-10))
     end
   end
 
diff --git a/actionpack/test/template/number_helper_test.rb b/actionpack/test/template/number_helper_test.rb
index dcdf28ddd5..ab127521ad 100644
--- a/actionpack/test/template/number_helper_test.rb
+++ b/actionpack/test/template/number_helper_test.rb
@@ -45,11 +45,15 @@ class NumberHelperTest < ActionView::TestCase
   def test_number_to_currency
     assert_equal("$1,234,567,890.50", number_to_currency(1234567890.50))
     assert_equal("$1,234,567,890.51", number_to_currency(1234567890.506))
+    assert_equal("-$1,234,567,890.50", number_to_currency(-1234567890.50))
+    assert_equal("-$ 1,234,567,890.50", number_to_currency(-1234567890.50, {:format => "%u %n"}))
+    assert_equal("($1,234,567,890.50)", number_to_currency(-1234567890.50, {:negative_format => "(%u%n)"}))
     assert_equal("$1,234,567,892", number_to_currency(1234567891.50, {:precision => 0}))
     assert_equal("$1,234,567,890.5", number_to_currency(1234567890.50, {:precision => 1}))
     assert_equal("&pound;1234567890,50", number_to_currency(1234567890.50, {:unit => "&pound;", :separator => ",", :delimiter => ""}))
     assert_equal("$1,234,567,890.50", number_to_currency("1234567890.50"))
     assert_equal("1,234,567,890.50 K&#269;", number_to_currency("1234567890.50", {:unit => "K&#269;", :format => "%n %u"}))
+    assert_equal("1,234,567,890.50 - K&#269;", number_to_currency("-1234567890.50", {:unit => "K&#269;", :format => "%n %u", :negative_format => "%n - %u"}))
   end
 
   def test_number_to_percentage
-- 
cgit v1.2.3