diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-12-07 18:11:06 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-12-07 18:11:06 +0900 |
| commit | d75266dd1bade53255044460a9cd74596addaa84 (patch) | |
| tree | ac97feb393da5597855dd8f79a7b8feba17c5c14 /mrbgems/mruby-io/test/file_test.rb | |
| parent | 10ed730e4bd921cf4d8fe6f6d2e3cb3f0840f3b7 (diff) | |
| parent | 3c8e1f94c44252c836f79a48bb17726da28e2756 (diff) | |
| download | mruby-d75266dd1bade53255044460a9cd74596addaa84.tar.gz mruby-d75266dd1bade53255044460a9cd74596addaa84.zip | |
Add 'mrbgems/mruby-io/' from commit '3c8e1f94c44252c836f79a48bb17726da28e2756'
git-subtree-dir: mrbgems/mruby-io
git-subtree-mainline: 10ed730e4bd921cf4d8fe6f6d2e3cb3f0840f3b7
git-subtree-split: 3c8e1f94c44252c836f79a48bb17726da28e2756
Diffstat (limited to 'mrbgems/mruby-io/test/file_test.rb')
| -rw-r--r-- | mrbgems/mruby-io/test/file_test.rb | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/mrbgems/mruby-io/test/file_test.rb b/mrbgems/mruby-io/test/file_test.rb new file mode 100644 index 000000000..2c831f0d5 --- /dev/null +++ b/mrbgems/mruby-io/test/file_test.rb @@ -0,0 +1,117 @@ +## +# FileTest + +assert('FileTest TEST SETUP') do + MRubyIOTestUtil.io_test_setup +end + +assert("FileTest.directory?") do + dir = MRubyIOTestUtil.mkdtemp("mruby-io-test.XXXXXX") + begin + assert_true FileTest.directory?(dir) + assert_false FileTest.directory?($mrbtest_io_rfname) + ensure + MRubyIOTestUtil.rmdir dir + end +end + +assert("FileTest.exist?") do + assert_equal true, FileTest.exist?($mrbtest_io_rfname), "filename - exist" + assert_equal false, FileTest.exist?($mrbtest_io_rfname + "-"), "filename - not exist" + io = IO.new(IO.sysopen($mrbtest_io_rfname)) + assert_equal true, FileTest.exist?(io), "io obj - exist" + io.close + assert_equal true, io.closed? + assert_raise IOError do + FileTest.exist?(io) + end +end + +assert("FileTest.file?") do + dir = MRubyIOTestUtil.mkdtemp("mruby-io-test.XXXXXX") + begin + assert_true FileTest.file?($mrbtest_io_rfname) + assert_false FileTest.file?(dir) + ensure + MRubyIOTestUtil.rmdir dir + end +end + +assert("FileTest.pipe?") do + begin + assert_equal false, FileTest.pipe?("/tmp") + io = IO.popen("ls") + assert_equal true, FileTest.pipe?(io) + rescue NotImplementedError => e + skip e.message + end +end + +assert('FileTest.size') do + assert_equal FileTest.size($mrbtest_io_rfname), $mrbtest_io_msg.size + assert_equal FileTest.size($mrbtest_io_wfname), 0 +end + +assert("FileTest.size?") do + assert_equal $mrbtest_io_msg.size, FileTest.size?($mrbtest_io_rfname) + assert_equal nil, FileTest.size?($mrbtest_io_wfname) + assert_equal nil, FileTest.size?("not-exist-test-target-file") + + fp1 = File.open($mrbtest_io_rfname) + fp2 = File.open($mrbtest_io_wfname) + assert_equal $mrbtest_io_msg.size, FileTest.size?(fp1) + assert_equal nil, FileTest.size?(fp2) + fp1.close + fp2.close + + assert_raise IOError do + FileTest.size?(fp1) + end + assert_raise IOError do + FileTest.size?(fp2) + end + + fp1.closed? && fp2.closed? +end + +assert("FileTest.socket?") do + begin + assert_true FileTest.socket?($mrbtest_io_socketname) + rescue NotImplementedError => e + skip e.message + end +end + +assert("FileTest.symlink?") do + begin + assert_true FileTest.symlink?($mrbtest_io_symlinkname) + rescue NotImplementedError => e + skip e.message + end +end + +assert("FileTest.zero?") do + assert_equal false, FileTest.zero?($mrbtest_io_rfname) + assert_equal true, FileTest.zero?($mrbtest_io_wfname) + assert_equal false, FileTest.zero?("not-exist-test-target-file") + + fp1 = File.open($mrbtest_io_rfname) + fp2 = File.open($mrbtest_io_wfname) + assert_equal false, FileTest.zero?(fp1) + assert_equal true, FileTest.zero?(fp2) + fp1.close + fp2.close + + assert_raise IOError do + FileTest.zero?(fp1) + end + assert_raise IOError do + FileTest.zero?(fp2) + end + + fp1.closed? && fp2.closed? +end + +assert('FileTest TEST CLEANUP') do + assert_nil MRubyIOTestUtil.io_test_cleanup +end |
