提交 0bcbcdfd 编写于 作者: A Andrew White

Ensure number helpers can handle HTML safe strings - closes #1597.

上级 90c48857
...@@ -211,7 +211,7 @@ def number_with_delimiter(number, options = {}) ...@@ -211,7 +211,7 @@ def number_with_delimiter(number, options = {})
defaults = I18n.translate(:'number.format', :locale => options[:locale], :default => {}) defaults = I18n.translate(:'number.format', :locale => options[:locale], :default => {})
options = options.reverse_merge(defaults) options = options.reverse_merge(defaults)
parts = number.to_s.split('.') parts = number.to_s.to_str.split('.')
parts[0].gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{options[:delimiter]}") parts[0].gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{options[:delimiter]}")
parts.join(options[:separator]).html_safe parts.join(options[:separator]).html_safe
......
...@@ -283,33 +283,40 @@ def test_number_helpers_outputs_are_html_safe ...@@ -283,33 +283,40 @@ def test_number_helpers_outputs_are_html_safe
assert number_to_human(1).html_safe? assert number_to_human(1).html_safe?
assert !number_to_human("<script></script>").html_safe? assert !number_to_human("<script></script>").html_safe?
assert number_to_human("asdf".html_safe).html_safe? assert number_to_human("asdf".html_safe).html_safe?
assert number_to_human("1".html_safe).html_safe?
assert number_to_human_size(1).html_safe? assert number_to_human_size(1).html_safe?
assert number_to_human_size(1000000).html_safe? assert number_to_human_size(1000000).html_safe?
assert !number_to_human_size("<script></script>").html_safe? assert !number_to_human_size("<script></script>").html_safe?
assert number_to_human_size("asdf".html_safe).html_safe? assert number_to_human_size("asdf".html_safe).html_safe?
assert number_to_human_size("1".html_safe).html_safe?
assert number_with_precision(1, :strip_insignificant_zeros => false).html_safe? assert number_with_precision(1, :strip_insignificant_zeros => false).html_safe?
assert number_with_precision(1, :strip_insignificant_zeros => true).html_safe? assert number_with_precision(1, :strip_insignificant_zeros => true).html_safe?
assert !number_with_precision("<script></script>").html_safe? assert !number_with_precision("<script></script>").html_safe?
assert number_with_precision("asdf".html_safe).html_safe? assert number_with_precision("asdf".html_safe).html_safe?
assert number_with_precision("1".html_safe).html_safe?
assert number_to_currency(1).html_safe? assert number_to_currency(1).html_safe?
assert !number_to_currency("<script></script>").html_safe? assert !number_to_currency("<script></script>").html_safe?
assert number_to_currency("asdf".html_safe).html_safe? assert number_to_currency("asdf".html_safe).html_safe?
assert number_to_currency("1".html_safe).html_safe?
assert number_to_percentage(1).html_safe? assert number_to_percentage(1).html_safe?
assert !number_to_percentage("<script></script>").html_safe? assert !number_to_percentage("<script></script>").html_safe?
assert number_to_percentage("asdf".html_safe).html_safe? assert number_to_percentage("asdf".html_safe).html_safe?
assert number_to_percentage("1".html_safe).html_safe?
assert number_to_phone(1).html_safe? assert number_to_phone(1).html_safe?
assert_equal "&lt;script&gt;&lt;/script&gt;", number_to_phone("<script></script>") assert_equal "&lt;script&gt;&lt;/script&gt;", number_to_phone("<script></script>")
assert number_to_phone("<script></script>").html_safe? assert number_to_phone("<script></script>").html_safe?
assert number_to_phone("asdf".html_safe).html_safe? assert number_to_phone("asdf".html_safe).html_safe?
assert number_to_phone("1".html_safe).html_safe?
assert number_with_delimiter(1).html_safe? assert number_with_delimiter(1).html_safe?
assert !number_with_delimiter("<script></script>").html_safe? assert !number_with_delimiter("<script></script>").html_safe?
assert number_with_delimiter("asdf".html_safe).html_safe? assert number_with_delimiter("asdf".html_safe).html_safe?
assert number_with_delimiter("1".html_safe).html_safe?
end end
def test_number_helpers_should_raise_error_if_invalid_when_specified def test_number_helpers_should_raise_error_if_invalid_when_specified
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册