From c5e64eeb973ad041c4d00cd7ef83cd044c4fcc6b Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 25 Sep 2007 12:45:03 +0000 Subject: * io.c (io_ungetc): reallocate internal buffer if pushing data excess capacity. [ruby-dev:31650] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bootstraptest/test_knownbug.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'bootstraptest') diff --git a/bootstraptest/test_knownbug.rb b/bootstraptest/test_knownbug.rb index 03feb653a..07ba5e8e2 100644 --- a/bootstraptest/test_knownbug.rb +++ b/bootstraptest/test_knownbug.rb @@ -6,11 +6,15 @@ assert_equal 'ok', %q{ begin r, w = IO.pipe + w.write "foo" w.close # assert_raise(IOError, "[ruby-dev:31650]") { 20000.times { r.ungetc "a" } } + r.getc 20000.times { r.ungetc "a" } -rescue IOError - :ok + data = r.read + if data.size == 20002 && data[-5..-1] == "aaaoo" + :ok + end ensure r.close end -- cgit