summaryrefslogtreecommitdiff
path: root/test/ruby/test_string.rb
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-19 14:03:02 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-19 14:39:19 +0900
commit8797f48373dcfa3ff8e748667732dea8aea4347e (patch)
tree4a8a7e05b3e015b0c2e5e73328b05357d97c743c /test/ruby/test_string.rb
parent148f50fc789d59319113a1fd2897dbe552e73e73 (diff)
New buffer for shared string
* string.c (rb_str_init): allocate new buffer if the string is shared. [Bug #15937]
Diffstat (limited to 'test/ruby/test_string.rb')
-rw-r--r--test/ruby/test_string.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb
index 1d81d24dba..afa3803023 100644
--- a/test/ruby/test_string.rb
+++ b/test/ruby/test_string.rb
@@ -79,6 +79,11 @@ class TestString < Test::Unit::TestCase
assert_equal("mystring", str.__send__(:initialize, str, capacity: 1000))
end
+ def test_initialize_shared
+ String.new(str = "mystring" * 10).__send__(:initialize, capacity: str.bytesize)
+ assert_equal("mystring", str[0, 8])
+ end
+
def test_initialize_nonstring
assert_raise(TypeError) {
S(1)