aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext
diff options
context:
space:
mode:
authorGannon McGibbon <gannon.mcgibbon@gmail.com>2018-06-03 19:42:07 -0400
committerGannon McGibbon <gannon.mcgibbon@gmail.com>2018-09-28 14:29:46 -0400
commitec9a89cb8be037cde2466a5347ea5c4ec648a4c3 (patch)
tree33c8c7403d6cf9a17e24768d2d99d09f48c2dfed /activesupport/test/core_ext
parent9fa4342970e2c8ac24bcc595f120ab65e88095a4 (diff)
downloadrails-ec9a89cb8be037cde2466a5347ea5c4ec648a4c3.tar.gz
rails-ec9a89cb8be037cde2466a5347ea5c4ec648a4c3.tar.bz2
rails-ec9a89cb8be037cde2466a5347ea5c4ec648a4c3.zip
Add deprecation warning when String#first and String#last receive negative integers
[Gannon McGibbon + Eric Turner]
Diffstat (limited to 'activesupport/test/core_ext')
-rw-r--r--activesupport/test/core_ext/string_ext_test.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/string_ext_test.rb b/activesupport/test/core_ext/string_ext_test.rb
index a26473dc84..1febb6a775 100644
--- a/activesupport/test/core_ext/string_ext_test.rb
+++ b/activesupport/test/core_ext/string_ext_test.rb
@@ -469,6 +469,15 @@ class StringAccessTest < ActiveSupport::TestCase
assert_not_same different_string, string
end
+ test "#first with negative Integer is deprecated" do
+ string = "hello"
+ message = "Calling String#first with a negative integer limit " \
+ "will raise an ArgumentError in Rails 6.1."
+ assert_deprecated(message) do
+ string.first(-1)
+ end
+ end
+
test "#last returns the last character" do
assert_equal "o", "hello".last
assert_equal "x", "x".last
@@ -487,6 +496,15 @@ class StringAccessTest < ActiveSupport::TestCase
assert_not_same different_string, string
end
+ test "#last with negative Integer is deprecated" do
+ string = "hello"
+ message = "Calling String#last with a negative integer limit " \
+ "will raise an ArgumentError in Rails 6.1."
+ assert_deprecated(message) do
+ string.last(-1)
+ end
+ end
+
test "access returns a real string" do
hash = {}
hash["h"] = true