From d46e2aea718920f535c1dc701cbd6b85a8e1fcac Mon Sep 17 00:00:00 2001 From: naruse Date: Wed, 17 Feb 2016 03:21:35 +0000 Subject: * string.c (rb_str_init): introduce String.new(capacity: size) [Feature #12024] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/-ext-/string/test_capacity.rb | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'test/-ext-/string/test_capacity.rb') diff --git a/test/-ext-/string/test_capacity.rb b/test/-ext-/string/test_capacity.rb index 54f3caf32e..48d2deadee 100644 --- a/test/-ext-/string/test_capacity.rb +++ b/test/-ext-/string/test_capacity.rb @@ -4,16 +4,29 @@ require '-test-/string' require 'rbconfig/sizeof' class Test_StringCapacity < Test::Unit::TestCase + def capa(str) + Bug::String.capacity(str) + end + def test_capacity_embeded size = RbConfig::SIZEOF['void*'] * 3 - 1 - assert_equal size, Bug::String.capacity('foo') + assert_equal size, capa('foo') end def test_capacity_shared - assert_equal 0, Bug::String.capacity(:abcdefghijklmnopqrstuvwxyz.to_s) + assert_equal 0, capa(:abcdefghijklmnopqrstuvwxyz.to_s) end def test_capacity_normal - assert_equal 128, Bug::String.capacity('1'*128) + assert_equal 128, capa('1'*128) + end + + def test_s_new_capacity + assert_equal("", String.new(capacity: 1000)) + assert_equal(String, String.new(capacity: 1000).class) + assert_equal(10000, capa(String.new(capacity: 10000))) + + assert_equal("", String.new(capacity: -1000)) + assert_equal(capa(String.new(capacity: -10000)), capa(String.new(capacity: -1000))) end end -- cgit v1.2.3