summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorPaolo Bosetti <[email protected]>2014-03-03 13:15:57 +0100
committerPaolo Bosetti <[email protected]>2014-03-03 13:15:57 +0100
commitd9f3fd868a1c4778dbd7119a00c79ef020dc6048 (patch)
treee81ddb23d69030748e524148427fee7a5ba22f56 /test
parentee2859de6e8c95335db65746775737ad1bff35c8 (diff)
parentf7c054bd39f0809641ab474771f0f85a5282c72e (diff)
downloadmruby-d9f3fd868a1c4778dbd7119a00c79ef020dc6048.tar.gz
mruby-d9f3fd868a1c4778dbd7119a00c79ef020dc6048.zip
Merge branch 'master' of https://github.com/iij/mruby-io into test
Conflicts: src/io.c
Diffstat (limited to 'test')
-rw-r--r--test/io.rb25
1 files changed, 24 insertions, 1 deletions
diff --git a/test/io.rb b/test/io.rb
index 49a2a3f97..02507a9d4 100644
--- a/test/io.rb
+++ b/test/io.rb
@@ -130,7 +130,7 @@ assert('IO#read') do
io = IO.new fd
assert_equal 'mruby', io.read(5)
assert_equal $mrbtest_io_msg[5,100] + "\n", io.read
- assert_equal nil, io.read
+ assert_equal "", io.read
io.close
io.closed?
end
@@ -251,6 +251,29 @@ assert('IO.popen') do
io.closed?
end
+assert('IO.read') do
+ # empty file
+ fd = IO.sysopen $mrbtest_io_wfname, "w"
+ io = IO.new fd, "w"
+ io.close
+ assert_equal "", IO.read($mrbtest_io_wfname)
+ assert_equal nil, IO.read($mrbtest_io_wfname, 1)
+
+ # one byte file
+ fd = IO.sysopen $mrbtest_io_wfname, "w"
+ io = IO.new fd, "w"
+ io.write "123"
+ io.close
+ assert_equal "123", IO.read($mrbtest_io_wfname)
+ assert_equal "", IO.read($mrbtest_io_wfname, 0)
+ assert_equal "1", IO.read($mrbtest_io_wfname, 1)
+ assert_equal "", IO.read($mrbtest_io_wfname, 0, 10)
+ assert_equal "23", IO.read($mrbtest_io_wfname, 2, 1)
+ assert_equal "23", IO.read($mrbtest_io_wfname, 10, 1)
+ assert_equal "", IO.read($mrbtest_io_wfname, nil, 10)
+ assert_equal nil, IO.read($mrbtest_io_wfname, 1, 10)
+end
+
assert('IO#fileno') do
fd = IO.sysopen $mrbtest_io_rfname
io = IO.new fd