From 9d79e0668d6a51573170ee568c5bac6717ec1a0c Mon Sep 17 00:00:00 2001
From: Jeremy Kemper <jeremy@bitsweat.net>
Date: Sat, 2 Feb 2008 02:59:10 +0000
Subject: Fix number_to_human_size incorrectly removing trailing zeros. Closes
 #10099 [libc, developingchris]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8774 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
---
 actionpack/lib/action_view/helpers/number_helper.rb | 2 +-
 actionpack/test/template/number_helper_test.rb      | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

(limited to 'actionpack')

diff --git a/actionpack/lib/action_view/helpers/number_helper.rb b/actionpack/lib/action_view/helpers/number_helper.rb
index eae230ad93..7dcba4a33e 100644
--- a/actionpack/lib/action_view/helpers/number_helper.rb
+++ b/actionpack/lib/action_view/helpers/number_helper.rb
@@ -170,7 +170,7 @@ module ActionView
           when size < 1.gigabyte; "%.#{precision}f MB"  % (size / 1.0.megabyte)
           when size < 1.terabyte; "%.#{precision}f GB"  % (size / 1.0.gigabyte)
           else                    "%.#{precision}f TB"  % (size / 1.0.terabyte)
-        end.sub(/([0-9])\.?0+ /, '\1 ' )
+        end.sub(/([0-9]\.\d*?)0+ /, '\1 ' ).sub(/\. /,' ')
       rescue
         nil
       end
diff --git a/actionpack/test/template/number_helper_test.rb b/actionpack/test/template/number_helper_test.rb
index b2f95cea9f..29cb9c1701 100644
--- a/actionpack/test/template/number_helper_test.rb
+++ b/actionpack/test/template/number_helper_test.rb
@@ -87,6 +87,7 @@ class NumberHelperTest < Test::Unit::TestCase
     assert_equal '1.01 KB',   number_to_human_size(1.0100.kilobytes, 4)
     assert_equal '10 KB',   number_to_human_size(10.000.kilobytes, 4)
     assert_equal '1 Byte',   number_to_human_size(1.1)
+    assert_equal '10 Bytes', number_to_human_size(10)
     assert_nil number_to_human_size('x')
     assert_nil number_to_human_size(nil)
   end
-- 
cgit v1.2.3