aboutsummaryrefslogtreecommitdiffstats
path: root/actionview
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2017-01-18 01:43:16 -0500
committerGitHub <noreply@github.com>2017-01-18 01:43:16 -0500
commita4dbbde4c91a52e28b6c4772b0032b9c16d636ca (patch)
treed0efee32f11662beb7a90e7710f1d5cba819ae52 /actionview
parent0e119480fca1d830bcfcf01ada041d890ba82325 (diff)
parent8040f527c3f75638829809662a52af04d50369f9 (diff)
downloadrails-a4dbbde4c91a52e28b6c4772b0032b9c16d636ca.tar.gz
rails-a4dbbde4c91a52e28b6c4772b0032b9c16d636ca.tar.bz2
rails-a4dbbde4c91a52e28b6c4772b0032b9c16d636ca.zip
Merge pull request #27693 from kenta-s/improve-to_sentence-method
Fix unexpected behavior of `to_sentence` with $,
Diffstat (limited to 'actionview')
-rw-r--r--actionview/lib/action_view/helpers/output_safety_helper.rb2
-rw-r--r--actionview/test/template/output_safety_helper_test.rb10
2 files changed, 11 insertions, 1 deletions
diff --git a/actionview/lib/action_view/helpers/output_safety_helper.rb b/actionview/lib/action_view/helpers/output_safety_helper.rb
index e9febb8be9..25defd1276 100644
--- a/actionview/lib/action_view/helpers/output_safety_helper.rb
+++ b/actionview/lib/action_view/helpers/output_safety_helper.rb
@@ -60,7 +60,7 @@ module ActionView #:nodoc:
when 2
safe_join([array[0], array[1]], options[:two_words_connector])
else
- safe_join([safe_join(array[0...-1], options[:words_connector]), options[:last_word_connector], array[-1]])
+ safe_join([safe_join(array[0...-1], options[:words_connector]), options[:last_word_connector], array[-1]], nil)
end
end
end
diff --git a/actionview/test/template/output_safety_helper_test.rb b/actionview/test/template/output_safety_helper_test.rb
index e3f515bb1c..0f3288130b 100644
--- a/actionview/test/template/output_safety_helper_test.rb
+++ b/actionview/test/template/output_safety_helper_test.rb
@@ -92,4 +92,14 @@ class OutputSafetyHelperTest < ActionView::TestCase
assert_equal "one, two three", to_sentence(["one", "two", "three"], last_word_connector: " ")
assert_equal "one, two and three", to_sentence(["one", "two", "three"], last_word_connector: " and ")
end
+
+ test "to_sentence is not affected by $," do
+ $, = "|"
+ begin
+ assert_equal "one and two", to_sentence(["one", "two"])
+ assert_equal "one, two, and three", to_sentence(["one", "two", "three"])
+ ensure
+ $, = nil
+ end
+ end
end