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