[279] | 1 | ##
|
---|
| 2 | # FileTest
|
---|
| 3 |
|
---|
| 4 | assert('FileTest TEST SETUP') do
|
---|
| 5 | MRubyIOTestUtil.io_test_setup
|
---|
| 6 | end
|
---|
| 7 |
|
---|
| 8 | assert("FileTest.directory?") do
|
---|
| 9 | dir = MRubyIOTestUtil.mkdtemp("mruby-io-test.XXXXXX")
|
---|
| 10 | begin
|
---|
| 11 | assert_true FileTest.directory?(dir)
|
---|
| 12 | assert_false FileTest.directory?($mrbtest_io_rfname)
|
---|
| 13 | ensure
|
---|
| 14 | MRubyIOTestUtil.rmdir dir
|
---|
| 15 | end
|
---|
| 16 | end
|
---|
| 17 |
|
---|
| 18 | assert("FileTest.exist?") do
|
---|
| 19 | assert_equal true, FileTest.exist?($mrbtest_io_rfname), "filename - exist"
|
---|
| 20 | assert_equal false, FileTest.exist?($mrbtest_io_rfname + "-"), "filename - not exist"
|
---|
| 21 | io = IO.new(IO.sysopen($mrbtest_io_rfname))
|
---|
| 22 | assert_equal true, FileTest.exist?(io), "io obj - exist"
|
---|
| 23 | io.close
|
---|
| 24 | assert_equal true, io.closed?
|
---|
| 25 | assert_raise IOError do
|
---|
| 26 | FileTest.exist?(io)
|
---|
| 27 | end
|
---|
| 28 | end
|
---|
| 29 |
|
---|
| 30 | assert("FileTest.file?") do
|
---|
| 31 | dir = MRubyIOTestUtil.mkdtemp("mruby-io-test.XXXXXX")
|
---|
| 32 | begin
|
---|
| 33 | assert_true FileTest.file?($mrbtest_io_rfname)
|
---|
| 34 | assert_false FileTest.file?(dir)
|
---|
| 35 | ensure
|
---|
| 36 | MRubyIOTestUtil.rmdir dir
|
---|
| 37 | end
|
---|
| 38 | end
|
---|
| 39 |
|
---|
| 40 | assert("FileTest.pipe?") do
|
---|
| 41 | begin
|
---|
| 42 | assert_equal false, FileTest.pipe?("/tmp")
|
---|
| 43 | io = IO.popen("ls")
|
---|
| 44 | assert_equal true, FileTest.pipe?(io)
|
---|
| 45 | rescue NotImplementedError => e
|
---|
| 46 | skip e.message
|
---|
| 47 | end
|
---|
| 48 | end
|
---|
| 49 |
|
---|
| 50 | assert('FileTest.size') do
|
---|
| 51 | assert_equal FileTest.size($mrbtest_io_rfname), $mrbtest_io_msg.size
|
---|
| 52 | assert_equal FileTest.size($mrbtest_io_wfname), 0
|
---|
| 53 | end
|
---|
| 54 |
|
---|
| 55 | assert("FileTest.size?") do
|
---|
| 56 | assert_equal $mrbtest_io_msg.size, FileTest.size?($mrbtest_io_rfname)
|
---|
| 57 | assert_equal nil, FileTest.size?($mrbtest_io_wfname)
|
---|
| 58 | assert_equal nil, FileTest.size?("not-exist-test-target-file")
|
---|
| 59 |
|
---|
| 60 | fp1 = File.open($mrbtest_io_rfname)
|
---|
| 61 | fp2 = File.open($mrbtest_io_wfname)
|
---|
| 62 | assert_equal $mrbtest_io_msg.size, FileTest.size?(fp1)
|
---|
| 63 | assert_equal nil, FileTest.size?(fp2)
|
---|
| 64 | fp1.close
|
---|
| 65 | fp2.close
|
---|
| 66 |
|
---|
| 67 | assert_raise IOError do
|
---|
| 68 | FileTest.size?(fp1)
|
---|
| 69 | end
|
---|
| 70 | assert_raise IOError do
|
---|
| 71 | FileTest.size?(fp2)
|
---|
| 72 | end
|
---|
| 73 |
|
---|
| 74 | fp1.closed? && fp2.closed?
|
---|
| 75 | end
|
---|
| 76 |
|
---|
| 77 | assert("FileTest.socket?") do
|
---|
| 78 | begin
|
---|
| 79 | assert_true FileTest.socket?($mrbtest_io_socketname)
|
---|
| 80 | rescue NotImplementedError => e
|
---|
| 81 | skip e.message
|
---|
| 82 | end
|
---|
| 83 | end
|
---|
| 84 |
|
---|
| 85 | assert("FileTest.symlink?") do
|
---|
| 86 | begin
|
---|
| 87 | assert_true FileTest.symlink?($mrbtest_io_symlinkname)
|
---|
| 88 | rescue NotImplementedError => e
|
---|
| 89 | skip e.message
|
---|
| 90 | end
|
---|
| 91 | end
|
---|
| 92 |
|
---|
| 93 | assert("FileTest.zero?") do
|
---|
| 94 | assert_equal false, FileTest.zero?($mrbtest_io_rfname)
|
---|
| 95 | assert_equal true, FileTest.zero?($mrbtest_io_wfname)
|
---|
| 96 | assert_equal false, FileTest.zero?("not-exist-test-target-file")
|
---|
| 97 |
|
---|
| 98 | fp1 = File.open($mrbtest_io_rfname)
|
---|
| 99 | fp2 = File.open($mrbtest_io_wfname)
|
---|
| 100 | assert_equal false, FileTest.zero?(fp1)
|
---|
| 101 | assert_equal true, FileTest.zero?(fp2)
|
---|
| 102 | fp1.close
|
---|
| 103 | fp2.close
|
---|
| 104 |
|
---|
| 105 | assert_raise IOError do
|
---|
| 106 | FileTest.zero?(fp1)
|
---|
| 107 | end
|
---|
| 108 | assert_raise IOError do
|
---|
| 109 | FileTest.zero?(fp2)
|
---|
| 110 | end
|
---|
| 111 |
|
---|
| 112 | fp1.closed? && fp2.closed?
|
---|
| 113 | end
|
---|
| 114 |
|
---|
| 115 | assert('FileTest TEST CLEANUP') do
|
---|
| 116 | assert_nil MRubyIOTestUtil.io_test_cleanup
|
---|
| 117 | end
|
---|