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
|
---|