diff options
author | Vasiliy Ermolovich <younash@gmail.com> | 2012-05-18 18:17:43 +0300 |
---|---|---|
committer | Vasiliy Ermolovich <younash@gmail.com> | 2012-05-18 18:30:48 +0300 |
commit | 3b1c30c99ff1f3f5e970e3fa696d3291d5897bd7 (patch) | |
tree | d05293c529c0091f92ec9582bd840c2c54e1e764 /activesupport | |
parent | 62c6ac2f8d423c62bffc18e06d90bb3b87a7c79a (diff) | |
download | rails-3b1c30c99ff1f3f5e970e3fa696d3291d5897bd7.tar.gz rails-3b1c30c99ff1f3f5e970e3fa696d3291d5897bd7.tar.bz2 rails-3b1c30c99ff1f3f5e970e3fa696d3291d5897bd7.zip |
doesn't modify params in SafeBuffer#%
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/core_ext/string/output_safety.rb | 4 | ||||
-rw-r--r-- | activesupport/test/core_ext/string_ext_test.rb | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/activesupport/lib/active_support/core_ext/string/output_safety.rb b/activesupport/lib/active_support/core_ext/string/output_safety.rb index f98d5b3777..5226ff0cbe 100644 --- a/activesupport/lib/active_support/core_ext/string/output_safety.rb +++ b/activesupport/lib/active_support/core_ext/string/output_safety.rb @@ -151,9 +151,7 @@ module ActiveSupport #:nodoc: end def %(args) - args = Array(args) - - args.map! do |arg| + args = Array(args).map do |arg| if !html_safe? || arg.html_safe? arg else diff --git a/activesupport/test/core_ext/string_ext_test.rb b/activesupport/test/core_ext/string_ext_test.rb index eee2caa60e..d3f52c04c4 100644 --- a/activesupport/test/core_ext/string_ext_test.rb +++ b/activesupport/test/core_ext/string_ext_test.rb @@ -463,6 +463,13 @@ class OutputSafetyTest < ActiveSupport::TestCase assert @other_string.html_safe? end + test "Concatting with % doesn't modify a string" do + @other_string = ["<p>", "<b>", "<h1>"] + "%s %s %s".html_safe % @other_string + + assert_equal ["<p>", "<b>", "<h1>"], @other_string + end + test "Concatting a fixnum to safe always yields safe" do string = @string.html_safe string = string.concat(13) |