mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Ensure number_to_human_size does not strip zeros from the end [#1763 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
This commit is contained in:
parent
e41984c5f7
commit
98eaa2c683
2 changed files with 10 additions and 1 deletions
|
@ -248,6 +248,11 @@ module ActionView
|
|||
# number_to_human_size(483989, :precision => 0) # => 473 KB
|
||||
# number_to_human_size(1234567, :precision => 2, :separator => ',') # => 1,18 MB
|
||||
#
|
||||
# Zeros after the decimal point are always stripped out, regardless of the
|
||||
# specified precision:
|
||||
# helper.number_to_human_size(1234567890123, :precision => 5) # => "1.12283 TB"
|
||||
# helper.number_to_human_size(524288000, :precision=>5) # => "500 MB"
|
||||
#
|
||||
# You can still use <tt>number_to_human_size</tt> with the old API that accepts the
|
||||
# +precision+ as its optional second parameter:
|
||||
# number_to_human_size(1234567, 2) # => 1.18 MB
|
||||
|
@ -293,7 +298,7 @@ module ActionView
|
|||
:precision => precision,
|
||||
:separator => separator,
|
||||
:delimiter => delimiter
|
||||
).sub(/(\d)(#{escaped_separator}[1-9]*)?0+\z/, '\1\2').sub(/#{escaped_separator}\z/, '')
|
||||
).sub(/(#{escaped_separator})(\d*[1-9])?0+\z/, '\1\2').sub(/#{escaped_separator}\z/, '')
|
||||
storage_units_format.gsub(/%n/, formatted_number).gsub(/%u/, unit)
|
||||
rescue
|
||||
number
|
||||
|
|
|
@ -118,6 +118,10 @@ class NumberHelperTest < ActionView::TestCase
|
|||
assert_equal '1.01 KB', number_to_human_size(1.0123.kilobytes, :precision => 2)
|
||||
assert_equal '1.01 KB', number_to_human_size(1.0100.kilobytes, :precision => 4)
|
||||
assert_equal '10 KB', number_to_human_size(10.000.kilobytes, :precision => 4)
|
||||
assert_equal '1 TB', number_to_human_size(1234567890123, :precision => 0)
|
||||
assert_equal '500 MB', number_to_human_size(524288000, :precision=>0)
|
||||
assert_equal '40 KB', number_to_human_size(41010, :precision => 0)
|
||||
assert_equal '40 KB', number_to_human_size(41100, :precision => 0)
|
||||
end
|
||||
|
||||
def test_number_to_human_size_with_custom_delimiter_and_separator
|
||||
|
|
Loading…
Reference in a new issue