aboutsummaryrefslogtreecommitdiffstats
path: root/test/-ext-
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-08-31 08:21:46 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-08-31 08:21:46 +0000
commitf7ea3242ae10b9338853523ed3aa6db13073414a (patch)
treeb8530dbd622619640e94ab40e230b415894fb120 /test/-ext-
parent8db8cb897bae7e3a3faa7e178d9b8c0a2ba38386 (diff)
downloadruby-f7ea3242ae10b9338853523ed3aa6db13073414a.tar.gz
io.c: shrink read buffer
* io.c (io_setstrbuf): return true if the buffer is newly created. * io.c (io_set_read_length): shrink the read buffer if it is a new object and is too large. [ruby-core:81370] [Bug #13597] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/-ext-')
-rw-r--r--test/-ext-/string/test_capacity.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/-ext-/string/test_capacity.rb b/test/-ext-/string/test_capacity.rb
index 48d2deadee..6ef5a8c4da 100644
--- a/test/-ext-/string/test_capacity.rb
+++ b/test/-ext-/string/test_capacity.rb
@@ -29,4 +29,12 @@ class Test_StringCapacity < Test::Unit::TestCase
assert_equal("", String.new(capacity: -1000))
assert_equal(capa(String.new(capacity: -10000)), capa(String.new(capacity: -1000)))
end
+
+ def test_io_read
+ s = String.new(capacity: 1000)
+ open(__FILE__) {|f|f.read(1024*1024, s)}
+ assert_equal(1024*1024, capa(s))
+ open(__FILE__) {|f|s = f.read(1024*1024)}
+ assert_operator(capa(s), :<=, s.bytesize+4096)
+ end
end