summaryrefslogtreecommitdiff
path: root/test/ruby/test_io.rb
diff options
context:
space:
mode:
authoraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-20 17:29:18 +0000
committeraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-20 17:29:18 +0000
commit72a6f92f4e32d44c2cd74696355afedc75c2241e (patch)
tree4c2beefe0efaa226f0ee63582ff47949484c6dac /test/ruby/test_io.rb
parent688c69b1f7ed0949673dc8932de2e9fb54a5a9e7 (diff)
* test/ruby/test_io.rb (test_gets_rs): add more tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_io.rb')
-rw-r--r--test/ruby/test_io.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb
index 642c8f4430..b256a2730d 100644
--- a/test/ruby/test_io.rb
+++ b/test/ruby/test_io.rb
@@ -2,10 +2,37 @@ require 'test/unit'
class TestIO < Test::Unit::TestCase
def test_gets_rs
+ # default_rs
+ r, w = IO.pipe
+ w.print "aaa\nbbb\n"
+ w.close
+ assert_equal "aaa\n", r.gets
+ assert_equal "bbb\n", r.gets
+ assert_nil r.gets
+ r.close
+
+ # nil
+ r, w = IO.pipe
+ w.print "a\n\nb\n\n"
+ w.close
+ assert_equal "a\n\nb\n\n", r.gets(nil)
+ assert_nil r.gets("")
+ r.close
+
+ # "\377" [ruby-dev:24460]
r, w = IO.pipe
w.print "\377xyz"
w.close
assert_equal("\377", r.gets("\377"), "[ruby-dev:24460]")
r.close
+
+ # "" [ruby-core:03771]
+ r, w = IO.pipe
+ w.print "a\n\nb\n\n"
+ w.close
+ assert_equal "a\n\n", r.gets("")
+ assert_equal "b\n\n", r.gets("")
+ assert_nil r.gets("")
+ r.close
end
end