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