From 35185e69bff725e0f11d49db9b2793185fe9927f Mon Sep 17 00:00:00 2001 From: ksss Date: Sun, 17 Dec 2017 14:50:43 +0900 Subject: Implement IO#initialize_copy --- mrbgems/mruby-io/test/io.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'mrbgems/mruby-io/test') diff --git a/mrbgems/mruby-io/test/io.rb b/mrbgems/mruby-io/test/io.rb index 9a6328ea4..96c3495d0 100644 --- a/mrbgems/mruby-io/test/io.rb +++ b/mrbgems/mruby-io/test/io.rb @@ -211,6 +211,35 @@ assert('IO#<<') do true end +assert('IO#dup for readable') do + io = IO.new(IO.sysopen($mrbtest_io_rfname)) + dup = io.dup + assert_true io != dup + assert_true io.fileno != dup.fileno + assert_equal 'm', dup.sysread(1) + assert_equal 'r', io.sysread(1) + assert_equal 'u', dup.sysread(1) + assert_equal 'b', io.sysread(1) + assert_equal 'y', dup.sysread(1) + dup.close + assert_false io.closed? + io.close + true +end + +assert('IO#dup for writable') do + io = IO.open(IO.sysopen($mrbtest_io_wfname, 'w+'), 'w+') + dup = io.dup + io.syswrite "mruby" + assert_equal 5, dup.sysseek(0, IO::SEEK_CUR) + io.sysseek 0, IO::SEEK_SET + assert_equal 0, dup.sysseek(0, IO::SEEK_CUR) + assert_equal "mruby", dup.sysread(5) + dup.close + io.close + true +end + assert('IO.for_fd') do fd = IO.sysopen($mrbtest_io_rfname) io = IO.for_fd(fd) -- cgit v1.2.3