source: EcnlProtoTool/trunk/mrbgems/mruby-dir/test/dir.rb@ 279

Last change on this file since 279 was 279, checked in by coas-nagasima, 7 years ago

ファイルを追加、更新。

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby
File size: 2.4 KB
Line 
1assert('Dir') do
2 assert_equal(Class, Dir.class)
3end
4
5assert('DirTest.setup') do
6 DirTest.setup
7end
8
9assert('Dir.chdir') do
10 assert_equal 0, Dir.chdir(DirTest.sandbox)
11end
12
13assert('Dir.entries') do
14 a = Dir.entries(DirTest.sandbox)
15 assert_true a.include? "a"
16 assert_true a.include? "b"
17end
18
19assert('Dir.exist?') do
20 assert_true Dir.exist?(DirTest.sandbox)
21 assert_false Dir.exist?(DirTest.sandbox + "/nosuchdir")
22end
23
24assert('Dir.foreach') do
25 a = []
26 Dir.foreach(DirTest.sandbox) { |s| a << s }
27 assert_true a.include? "a"
28 assert_true a.include? "b"
29end
30
31assert('Dir.getwd') do
32 s = Dir.getwd
33 assert_true s.kind_of? String
34end
35
36assert('Dir.mkdir') do
37 m1 = DirTest.sandbox + "/mkdir1"
38 m2 = DirTest.sandbox + "/mkdir2"
39 assert_equal 0, Dir.mkdir(m1)
40 assert_equal 0, Dir.mkdir(m2, 0765)
41end
42
43assert('Dir.delete') do
44 s = DirTest.sandbox + "/delete"
45 Dir.mkdir(s)
46 assert_true Dir.exist?(s)
47
48 Dir.delete(s)
49 assert_false Dir.exist?(s)
50end
51
52assert('Dir.open') do
53 a = []
54 Dir.open(DirTest.sandbox) { |d|
55 d.each { |s| a << s }
56 }
57 assert_true a.include? "a"
58 assert_true a.include? "b"
59end
60
61assert('Dir#initialize and Dir#close') do
62 d = Dir.new(".")
63 assert_true d.instance_of? Dir
64 assert_nil d.close
65end
66
67assert('Dir#close') do
68 d = Dir.new(".")
69end
70
71assert('Dir#each') do
72 a = []
73 d = Dir.open(DirTest.sandbox)
74 d.each { |s| a << s }
75 d.close
76 assert_true a.include? "a"
77 assert_true a.include? "b"
78end
79
80assert('Dir#read') do
81 a = []
82 d = Dir.open(DirTest.sandbox)
83 while s = d.read
84 a << s
85 end
86 d.close
87 assert_true a.include? "a"
88 assert_true a.include? "b"
89end
90
91assert('Dir#rewind') do
92 d = Dir.open(DirTest.sandbox)
93 while d.read; end
94
95 assert_equal d, d.rewind
96
97 a = []
98 while s = d.read
99 a << s
100 end
101 d.close
102 assert_true a.include? "a"
103 assert_true a.include? "b"
104end
105
106# Note: behaviors of seekdir(3) and telldir(3) are so platform-dependent
107# that we cannot write portable tests here.
108
109assert('Dir#tell') do
110 n = nil
111 begin
112 Dir.open(DirTest.sandbox) { |d|
113 n = d.tell
114 }
115 assert_true n.is_a? Integer
116 rescue NotImplementedError => e
117 skip e.message
118 end
119end
120
121assert('Dir#seek') do
122 d1 = Dir.open(DirTest.sandbox)
123 d1.read
124 begin
125 n = d1.tell
126 d1.read
127 d2 = d1.seek(n)
128 assert_equal d1, d2
129 rescue NotImplementedError => e
130 skip e.message
131 end
132end
133
134assert('DirTest.teardown') do
135 DirTest.teardown
136end
Note: See TracBrowser for help on using the repository browser.