mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/stringio/stringio.c (Init_stringio): added read_nonblock and
write_nonblock aliases. [ruby-dev:39551] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
0d76affdf9
commit
8252adfd5a
3 changed files with 46 additions and 1 deletions
|
@ -87,6 +87,28 @@ class TestStringIO < Test::Unit::TestCase
|
|||
f.close unless f.closed?
|
||||
end
|
||||
|
||||
def test_write_nonblock
|
||||
s = ""
|
||||
f = StringIO.new(s, "w")
|
||||
f.write_nonblock("foo")
|
||||
f.close
|
||||
assert_equal("foo", s)
|
||||
|
||||
f = StringIO.new(s, File::WRONLY)
|
||||
f.write_nonblock("bar")
|
||||
f.close
|
||||
assert_equal("bar", s)
|
||||
|
||||
f = StringIO.new(s, "a")
|
||||
o = Object.new
|
||||
def o.to_s; "baz"; end
|
||||
f.write_nonblock(o)
|
||||
f.close
|
||||
assert_equal("barbaz", s)
|
||||
ensure
|
||||
f.close unless f.closed?
|
||||
end
|
||||
|
||||
def test_mode_error
|
||||
f = StringIO.new("", "r")
|
||||
assert_raise(IOError) { f.write("foo") }
|
||||
|
@ -390,6 +412,24 @@ class TestStringIO < Test::Unit::TestCase
|
|||
assert_equal("\u3042\u3044".force_encoding(Encoding::ASCII_8BIT), f.read(f.size))
|
||||
end
|
||||
|
||||
def test_readpartial
|
||||
f = StringIO.new("\u3042\u3044")
|
||||
assert_raise(ArgumentError) { f.readpartial(-1) }
|
||||
assert_raise(ArgumentError) { f.readpartial(1, 2, 3) }
|
||||
assert_equal("\u3042\u3044", f.readpartial)
|
||||
f.rewind
|
||||
assert_equal("\u3042\u3044".force_encoding(Encoding::ASCII_8BIT), f.readpartial(f.size))
|
||||
end
|
||||
|
||||
def test_read_nonblock
|
||||
f = StringIO.new("\u3042\u3044")
|
||||
assert_raise(ArgumentError) { f.read_nonblock(-1) }
|
||||
assert_raise(ArgumentError) { f.read_nonblock(1, 2, 3) }
|
||||
assert_equal("\u3042\u3044", f.read_nonblock)
|
||||
f.rewind
|
||||
assert_equal("\u3042\u3044".force_encoding(Encoding::ASCII_8BIT), f.read_nonblock(f.size))
|
||||
end
|
||||
|
||||
def test_size
|
||||
f = StringIO.new("1234")
|
||||
assert_equal(4, f.size)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue