win32-file-stat 1.3.1 → 1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +9 -0
- data/MANIFEST +1 -3
- data/lib/win32/file/stat.rb +5 -4
- data/test/test_file_stat.rb +53 -32
- data/test/test_file_stat.rb~ +343 -0
- data/win32-file-stat.gemspec +2 -1
- metadata +14 -5
- data/test/sometestfile.exe +0 -1
- data/test/sometestfile.txt +0 -2
data/CHANGES
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
== 1.3.2 - 1-Oct-2008
|
2
|
+
* Fixed an issue with the private get_blksize method.
|
3
|
+
* Updated the test suite to use Test::Unit 2.x, which also makes it a
|
4
|
+
required dependency.
|
5
|
+
* Removed the pre-generated .txt and .exe files that were used for testing.
|
6
|
+
These are now generated within the test suite itself.
|
7
|
+
* Fixed two broken size tests, and now omits one blockdev test if there's no
|
8
|
+
media in the drive.
|
9
|
+
|
1
10
|
== 1.3.1 - 9-Aug-2008
|
2
11
|
* Fixed the stat buf to be the proper size (I had too many struct members).
|
3
12
|
* Modified the tests slightly.
|
data/MANIFEST
CHANGED
data/lib/win32/file/stat.rb
CHANGED
@@ -21,7 +21,7 @@ class File::Stat
|
|
21
21
|
include Windows::Volume
|
22
22
|
include Comparable
|
23
23
|
|
24
|
-
VERSION = '1.3.
|
24
|
+
VERSION = '1.3.2'
|
25
25
|
|
26
26
|
private
|
27
27
|
|
@@ -548,14 +548,15 @@ class File::Stat
|
|
548
548
|
# The dup is necessary here because the function modifies the argument.
|
549
549
|
file = file.dup
|
550
550
|
|
551
|
-
if
|
552
|
-
file
|
551
|
+
if PathStripToRootA(wide_to_multi(file))
|
552
|
+
file = file[/^[^\0]*/] << ':'
|
553
|
+
file << "\\" unless file[-1].chr == "\\"
|
553
554
|
else
|
554
555
|
file = nil # Default to the root drive on relative paths
|
555
556
|
end
|
556
557
|
|
557
558
|
# Don't check for an error here. Just default to nil.
|
558
|
-
if
|
559
|
+
if GetDiskFreeSpaceA(file, sectors, bytes, free, total)
|
559
560
|
size = sectors.unpack('L').first * bytes.unpack('L').first
|
560
561
|
end
|
561
562
|
|
data/test/test_file_stat.rb
CHANGED
@@ -4,37 +4,46 @@
|
|
4
4
|
# Test case for stat related methods of win32-file. You should use
|
5
5
|
# the 'rake test' task to run these tests.
|
6
6
|
#####################################################################
|
7
|
+
require 'rubygems'
|
8
|
+
gem 'test-unit'
|
7
9
|
require 'test/unit'
|
8
10
|
require 'win32/file/stat'
|
9
11
|
include Windows::Volume
|
10
12
|
|
11
|
-
# Find a block device
|
12
|
-
'A'.upto('Z'){ |volume|
|
13
|
-
volume += ":\\"
|
14
|
-
case GetDriveType(volume)
|
15
|
-
when DRIVE_REMOVABLE, DRIVE_CDROM, DRIVE_RAMDISK
|
16
|
-
$block_dev = volume
|
17
|
-
break
|
18
|
-
end
|
19
|
-
}
|
20
|
-
|
21
13
|
class TC_Win32_File_Stat < Test::Unit::TestCase
|
22
14
|
include Windows::File
|
15
|
+
|
16
|
+
def self.startup
|
17
|
+
Dir.chdir('test') unless File.basename(Dir.pwd) == 'test'
|
18
|
+
|
19
|
+
'A'.upto('Z'){ |volume|
|
20
|
+
volume += ":\\"
|
21
|
+
case GetDriveType(volume)
|
22
|
+
when DRIVE_REMOVABLE, DRIVE_CDROM, DRIVE_RAMDISK
|
23
|
+
@@block_dev = volume
|
24
|
+
break
|
25
|
+
end
|
26
|
+
}
|
27
|
+
|
28
|
+
@@txt_file = 'test_file.txt'
|
29
|
+
@@exe_file = 'test_file.exe'
|
30
|
+
|
31
|
+
File.open(@@txt_file, "w"){ |fh| fh.print "This is a test\nHello" }
|
32
|
+
File.open(@@exe_file, "wb"){ |fh| fh.print "This is a test" }
|
33
|
+
end
|
23
34
|
|
24
35
|
def setup
|
25
|
-
|
26
|
-
@
|
27
|
-
@
|
28
|
-
@dir = Dir.pwd
|
29
|
-
@stat = File::Stat.new(@file)
|
30
|
-
@attr = GetFileAttributes(@file)
|
36
|
+
@dir = Dir.pwd
|
37
|
+
@stat = File::Stat.new(@@txt_file)
|
38
|
+
@attr = GetFileAttributes(@@txt_file)
|
31
39
|
end
|
32
40
|
|
33
41
|
def test_version
|
34
|
-
assert_equal('1.3.
|
42
|
+
assert_equal('1.3.2', File::Stat::VERSION)
|
35
43
|
end
|
36
44
|
|
37
|
-
# One or more tests will fail if the archive attribute on
|
45
|
+
# One or more tests will fail if the archive attribute on @@text_file
|
46
|
+
# is not set.
|
38
47
|
def test_archive
|
39
48
|
assert_respond_to(@stat, :archive?)
|
40
49
|
assert_nothing_raised{ @stat.archive? }
|
@@ -57,7 +66,12 @@ class TC_Win32_File_Stat < Test::Unit::TestCase
|
|
57
66
|
assert_respond_to(@stat, :blockdev?)
|
58
67
|
assert_equal(false, @stat.blockdev?)
|
59
68
|
assert_equal(false, File::Stat.new('NUL').blockdev?)
|
60
|
-
|
69
|
+
|
70
|
+
begin
|
71
|
+
assert_equal(true, File::Stat.new(@@block_dev).blockdev?)
|
72
|
+
rescue SystemCallError
|
73
|
+
omit("Skipping because drive is empty")
|
74
|
+
end
|
61
75
|
end
|
62
76
|
|
63
77
|
def test_blocks
|
@@ -74,7 +88,7 @@ class TC_Win32_File_Stat < Test::Unit::TestCase
|
|
74
88
|
|
75
89
|
def test_comparison
|
76
90
|
assert_respond_to(@stat, :<=>)
|
77
|
-
assert_nothing_raised{ @stat <=> File::Stat.new(
|
91
|
+
assert_nothing_raised{ @stat <=> File::Stat.new(@@exe_file) }
|
78
92
|
end
|
79
93
|
|
80
94
|
def test_compressed
|
@@ -113,19 +127,19 @@ class TC_Win32_File_Stat < Test::Unit::TestCase
|
|
113
127
|
def test_executable
|
114
128
|
assert_respond_to(@stat, :executable?)
|
115
129
|
assert_equal(false, @stat.executable?)
|
116
|
-
assert_equal(true, File::Stat.new(
|
130
|
+
assert_equal(true, File::Stat.new(@@exe_file).executable?)
|
117
131
|
end
|
118
132
|
|
119
133
|
def test_executable_real
|
120
134
|
assert_respond_to(@stat, :executable_real?)
|
121
135
|
assert_equal(false, @stat.executable_real?)
|
122
|
-
assert_equal(true, File::Stat.new(
|
136
|
+
assert_equal(true, File::Stat.new(@@exe_file).executable_real?)
|
123
137
|
end
|
124
138
|
|
125
139
|
def test_file
|
126
140
|
assert_respond_to(@stat, :file?)
|
127
141
|
assert_equal(true, @stat.file?)
|
128
|
-
assert_equal(true, File::Stat.new(
|
142
|
+
assert_equal(true, File::Stat.new(@@exe_file).file?)
|
129
143
|
assert_equal(true, File::Stat.new(Dir.pwd).file?)
|
130
144
|
assert_equal(false, File::Stat.new('NUL').file?)
|
131
145
|
end
|
@@ -175,12 +189,12 @@ class TC_Win32_File_Stat < Test::Unit::TestCase
|
|
175
189
|
|
176
190
|
def test_mode
|
177
191
|
assert_respond_to(@stat, :mode)
|
178
|
-
assert_equal(33188, File::Stat.new(
|
179
|
-
assert_equal(33261, File::Stat.new(
|
192
|
+
assert_equal(33188, File::Stat.new(@@txt_file).mode)
|
193
|
+
assert_equal(33261, File::Stat.new(@@exe_file).mode)
|
180
194
|
assert_equal(16877, File::Stat.new(@dir).mode)
|
181
195
|
|
182
|
-
SetFileAttributes(
|
183
|
-
assert_equal(33060, File::Stat.new(
|
196
|
+
SetFileAttributes(@@txt_file, 1) # Set to readonly.
|
197
|
+
assert_equal(33060, File::Stat.new(@@txt_file).mode)
|
184
198
|
end
|
185
199
|
|
186
200
|
def test_mtime
|
@@ -251,12 +265,12 @@ class TC_Win32_File_Stat < Test::Unit::TestCase
|
|
251
265
|
|
252
266
|
def test_size
|
253
267
|
assert_respond_to(@stat, :size)
|
254
|
-
assert_equal(
|
268
|
+
assert_equal(21, @stat.size)
|
255
269
|
end
|
256
270
|
|
257
271
|
def test_size_bool
|
258
272
|
assert_respond_to(@stat, :size?)
|
259
|
-
assert_equal(
|
273
|
+
assert_equal(21, @stat.size?)
|
260
274
|
end
|
261
275
|
|
262
276
|
def test_socket
|
@@ -313,10 +327,17 @@ class TC_Win32_File_Stat < Test::Unit::TestCase
|
|
313
327
|
end
|
314
328
|
|
315
329
|
def teardown
|
316
|
-
SetFileAttributes(
|
317
|
-
@file = nil
|
318
|
-
@exe = nil
|
330
|
+
SetFileAttributes(@@txt_file, @attr) # Set file back to normal
|
319
331
|
@dir = nil
|
320
332
|
@stat = nil
|
333
|
+
@attr = nil
|
334
|
+
end
|
335
|
+
|
336
|
+
def self.shutdown
|
337
|
+
File.delete(@@txt_file) if File.exists?(@@txt_file)
|
338
|
+
File.delete(@@exe_file) if File.exists?(@@exe_file)
|
339
|
+
@@block_dev = nil
|
340
|
+
@@txt_file = nil
|
341
|
+
@@exe_file = nil
|
321
342
|
end
|
322
343
|
end
|
@@ -0,0 +1,343 @@
|
|
1
|
+
#####################################################################
|
2
|
+
# test_file_stat.rb
|
3
|
+
#
|
4
|
+
# Test case for stat related methods of win32-file. You should use
|
5
|
+
# the 'rake test' task to run these tests.
|
6
|
+
#####################################################################
|
7
|
+
require 'rubygems'
|
8
|
+
gem 'test-unit'
|
9
|
+
require 'test/unit'
|
10
|
+
require 'win32/file/stat'
|
11
|
+
include Windows::Volume
|
12
|
+
|
13
|
+
class TC_Win32_File_Stat < Test::Unit::TestCase
|
14
|
+
include Windows::File
|
15
|
+
|
16
|
+
def self.startup
|
17
|
+
Dir.chdir('test') unless File.basename(Dir.pwd) == 'test'
|
18
|
+
|
19
|
+
'A'.upto('Z'){ |volume|
|
20
|
+
volume += ":\\"
|
21
|
+
case GetDriveType(volume)
|
22
|
+
when DRIVE_REMOVABLE, DRIVE_CDROM, DRIVE_RAMDISK
|
23
|
+
@@block_dev = volume
|
24
|
+
break
|
25
|
+
end
|
26
|
+
}
|
27
|
+
|
28
|
+
@@txt_file = 'test_file.txt'
|
29
|
+
@@exe_file = 'test_file.exe'
|
30
|
+
|
31
|
+
File.open(@@txt_file, "w"){ |fh| fh.print "This is a test\nHello" }
|
32
|
+
File.open(@@exe_file, "wb"){ |fh| fh.print "This is a test" }
|
33
|
+
end
|
34
|
+
|
35
|
+
def setup
|
36
|
+
@dir = Dir.pwd
|
37
|
+
@stat = File::Stat.new(@@txt_file)
|
38
|
+
@attr = GetFileAttributes(@@txt_file)
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_version
|
42
|
+
assert_equal('1.3.3', File::Stat::VERSION)
|
43
|
+
end
|
44
|
+
|
45
|
+
# One or more tests will fail if the archive attribute on @@text_file
|
46
|
+
# is not set.
|
47
|
+
def test_archive
|
48
|
+
assert_respond_to(@stat, :archive?)
|
49
|
+
assert_nothing_raised{ @stat.archive? }
|
50
|
+
assert(@stat.archive?, '=> May fail - ignore')
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_atime
|
54
|
+
assert_respond_to(@stat, :atime)
|
55
|
+
assert_kind_of(Time, @stat.atime)
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_blksize
|
59
|
+
assert_respond_to(@stat, :blksize)
|
60
|
+
assert_equal(4096, @stat.blksize)
|
61
|
+
assert_equal(4096, File::Stat.new("C:\\").blksize)
|
62
|
+
end
|
63
|
+
|
64
|
+
# The block dev test error out if there's no media in it.
|
65
|
+
def test_blockdev
|
66
|
+
assert_respond_to(@stat, :blockdev?)
|
67
|
+
assert_equal(false, @stat.blockdev?)
|
68
|
+
assert_equal(false, File::Stat.new('NUL').blockdev?)
|
69
|
+
|
70
|
+
begin
|
71
|
+
assert_equal(true, File::Stat.new(@@block_dev).blockdev?)
|
72
|
+
rescue SystemCallError
|
73
|
+
omit("Skipping because drive is empty")
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_blocks
|
78
|
+
assert_respond_to(@stat, :blocks)
|
79
|
+
assert_equal(1, @stat.blocks)
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_chardev
|
83
|
+
assert_respond_to(@stat, :chardev?)
|
84
|
+
assert_nothing_raised{ File::Stat.new("NUL").chardev? }
|
85
|
+
assert_equal(true, File::Stat.new("NUL").chardev?)
|
86
|
+
assert_equal(false, File::Stat.new("C:\\").chardev?)
|
87
|
+
end
|
88
|
+
|
89
|
+
def test_comparison
|
90
|
+
assert_respond_to(@stat, :<=>)
|
91
|
+
assert_nothing_raised{ @stat <=> File::Stat.new(@@exe_file) }
|
92
|
+
end
|
93
|
+
|
94
|
+
def test_compressed
|
95
|
+
assert_respond_to(@stat, :compressed?)
|
96
|
+
assert_nothing_raised{ @stat.compressed? }
|
97
|
+
assert_equal(false, @stat.compressed?)
|
98
|
+
end
|
99
|
+
|
100
|
+
def test_ctime
|
101
|
+
assert_respond_to(@stat, :ctime)
|
102
|
+
assert_kind_of(Time, @stat.ctime)
|
103
|
+
end
|
104
|
+
|
105
|
+
# Assumes you've installed on C: drive.
|
106
|
+
def test_dev
|
107
|
+
assert_respond_to(@stat, :dev)
|
108
|
+
assert_equal('C:', @stat.dev)
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_dev_major
|
112
|
+
assert_respond_to(@stat, :dev_major)
|
113
|
+
assert_nil(@stat.dev_major)
|
114
|
+
end
|
115
|
+
|
116
|
+
def test_dev_minor
|
117
|
+
assert_respond_to(@stat, :dev_minor)
|
118
|
+
assert_nil(@stat.dev_minor)
|
119
|
+
end
|
120
|
+
|
121
|
+
def test_directory
|
122
|
+
assert_respond_to(@stat, :directory?)
|
123
|
+
assert_equal(false, @stat.directory?)
|
124
|
+
assert_equal(true, File::Stat.new("C:\\").directory?)
|
125
|
+
end
|
126
|
+
|
127
|
+
def test_executable
|
128
|
+
assert_respond_to(@stat, :executable?)
|
129
|
+
assert_equal(false, @stat.executable?)
|
130
|
+
assert_equal(true, File::Stat.new(@@exe_file).executable?)
|
131
|
+
end
|
132
|
+
|
133
|
+
def test_executable_real
|
134
|
+
assert_respond_to(@stat, :executable_real?)
|
135
|
+
assert_equal(false, @stat.executable_real?)
|
136
|
+
assert_equal(true, File::Stat.new(@@exe_file).executable_real?)
|
137
|
+
end
|
138
|
+
|
139
|
+
def test_file
|
140
|
+
assert_respond_to(@stat, :file?)
|
141
|
+
assert_equal(true, @stat.file?)
|
142
|
+
assert_equal(true, File::Stat.new(@@exe_file).file?)
|
143
|
+
assert_equal(true, File::Stat.new(Dir.pwd).file?)
|
144
|
+
assert_equal(false, File::Stat.new('NUL').file?)
|
145
|
+
end
|
146
|
+
|
147
|
+
def test_ftype
|
148
|
+
assert_respond_to(@stat, :ftype)
|
149
|
+
assert_equal('file', @stat.ftype)
|
150
|
+
assert_equal('characterSpecial', File::Stat.new('NUL').ftype)
|
151
|
+
assert_equal('directory', File::Stat.new(Dir.pwd).ftype)
|
152
|
+
end
|
153
|
+
|
154
|
+
def encrypted
|
155
|
+
assert_respond_to(@stat, :encrypted?)
|
156
|
+
assert_nothing_raised{ @stat.encrypted? }
|
157
|
+
end
|
158
|
+
|
159
|
+
def test_gid
|
160
|
+
assert_respond_to(@stat, :gid)
|
161
|
+
assert_equal(0, @stat.gid)
|
162
|
+
end
|
163
|
+
|
164
|
+
def test_grpowned
|
165
|
+
assert_respond_to(@stat, :grpowned?)
|
166
|
+
end
|
167
|
+
|
168
|
+
def test_hidden
|
169
|
+
assert_respond_to(@stat, :hidden?)
|
170
|
+
assert_nothing_raised{ @stat.hidden? }
|
171
|
+
assert_equal(false, @stat.hidden?)
|
172
|
+
end
|
173
|
+
|
174
|
+
def test_indexed
|
175
|
+
assert_respond_to(@stat, :indexed?)
|
176
|
+
assert_respond_to(@stat, :content_indexed?) # alias
|
177
|
+
assert_nothing_raised{ @stat.indexed? }
|
178
|
+
assert(@stat.indexed?)
|
179
|
+
end
|
180
|
+
|
181
|
+
def test_ino
|
182
|
+
assert_respond_to(@stat, :ino)
|
183
|
+
assert_equal(0, @stat.ino)
|
184
|
+
end
|
185
|
+
|
186
|
+
def test_inspect
|
187
|
+
assert_respond_to(@stat, :inspect)
|
188
|
+
end
|
189
|
+
|
190
|
+
def test_mode
|
191
|
+
assert_respond_to(@stat, :mode)
|
192
|
+
assert_equal(33188, File::Stat.new(@@txt_file).mode)
|
193
|
+
assert_equal(33261, File::Stat.new(@@exe_file).mode)
|
194
|
+
assert_equal(16877, File::Stat.new(@dir).mode)
|
195
|
+
|
196
|
+
SetFileAttributes(@@txt_file, 1) # Set to readonly.
|
197
|
+
assert_equal(33060, File::Stat.new(@@txt_file).mode)
|
198
|
+
end
|
199
|
+
|
200
|
+
def test_mtime
|
201
|
+
assert_respond_to(@stat, :mtime)
|
202
|
+
assert_kind_of(Time, @stat.mtime)
|
203
|
+
end
|
204
|
+
|
205
|
+
def test_nlink
|
206
|
+
assert_respond_to(@stat, :nlink)
|
207
|
+
assert_equal(1, @stat.nlink)
|
208
|
+
end
|
209
|
+
|
210
|
+
def test_normal
|
211
|
+
assert_respond_to(@stat, :normal?)
|
212
|
+
assert_nothing_raised{ @stat.normal? }
|
213
|
+
assert_equal(false, @stat.normal?)
|
214
|
+
end
|
215
|
+
|
216
|
+
def test_offline
|
217
|
+
assert_respond_to(@stat, :offline?)
|
218
|
+
assert_nothing_raised{ @stat.offline? }
|
219
|
+
assert_equal(false, @stat.offline?)
|
220
|
+
end
|
221
|
+
|
222
|
+
def test_pipe
|
223
|
+
assert_respond_to(@stat, :pipe?)
|
224
|
+
assert_equal(false, @stat.pipe?)
|
225
|
+
end
|
226
|
+
|
227
|
+
def test_readable
|
228
|
+
assert_respond_to(@stat, :readable?)
|
229
|
+
assert_equal(true, @stat.readable?)
|
230
|
+
end
|
231
|
+
|
232
|
+
def test_readable_real
|
233
|
+
assert_respond_to(@stat, :readable_real?)
|
234
|
+
assert_equal(true, @stat.readable_real?)
|
235
|
+
end
|
236
|
+
|
237
|
+
def test_readonly
|
238
|
+
assert_respond_to(@stat, :readonly?)
|
239
|
+
assert_nothing_raised{ @stat.readonly? }
|
240
|
+
assert_equal(false, @stat.readonly?)
|
241
|
+
end
|
242
|
+
|
243
|
+
def test_reparse_point
|
244
|
+
assert_respond_to(@stat, :reparse_point?)
|
245
|
+
assert_nothing_raised{ @stat.reparse_point? }
|
246
|
+
assert_equal(false, @stat.reparse_point?)
|
247
|
+
end
|
248
|
+
|
249
|
+
# Assumes you've installed on C: drive.
|
250
|
+
def test_rdev
|
251
|
+
msg = "ignore failure if Ruby is not installed on C: drive"
|
252
|
+
assert_respond_to(@stat, :rdev)
|
253
|
+
assert_equal(2, @stat.rdev, msg)
|
254
|
+
end
|
255
|
+
|
256
|
+
def test_setgid
|
257
|
+
assert_respond_to(@stat, :setgid?)
|
258
|
+
assert_equal(false, @stat.setgid?)
|
259
|
+
end
|
260
|
+
|
261
|
+
def test_setuid
|
262
|
+
assert_respond_to(@stat, :setuid?)
|
263
|
+
assert_equal(false, @stat.setuid?)
|
264
|
+
end
|
265
|
+
|
266
|
+
def test_size
|
267
|
+
assert_respond_to(@stat, :size)
|
268
|
+
assert_equal(21, @stat.size)
|
269
|
+
end
|
270
|
+
|
271
|
+
def test_size_bool
|
272
|
+
assert_respond_to(@stat, :size?)
|
273
|
+
assert_equal(21, @stat.size?)
|
274
|
+
end
|
275
|
+
|
276
|
+
def test_socket
|
277
|
+
assert_respond_to(@stat, :socket?)
|
278
|
+
assert_equal(false, @stat.socket?)
|
279
|
+
end
|
280
|
+
|
281
|
+
def test_sparse
|
282
|
+
assert_respond_to(@stat, :sparse?)
|
283
|
+
assert_nothing_raised{ @stat.sparse? }
|
284
|
+
assert_equal(false, @stat.sparse?)
|
285
|
+
end
|
286
|
+
|
287
|
+
def test_sticky
|
288
|
+
assert_respond_to(@stat, :sticky?)
|
289
|
+
assert_equal(false, @stat.sticky?)
|
290
|
+
end
|
291
|
+
|
292
|
+
def test_symlink
|
293
|
+
assert_respond_to(@stat, :symlink?)
|
294
|
+
assert_equal(false, @stat.symlink?)
|
295
|
+
end
|
296
|
+
|
297
|
+
def test_system
|
298
|
+
assert_respond_to(@stat, :system?)
|
299
|
+
assert_nothing_raised{ @stat.system? }
|
300
|
+
assert_equal(false, @stat.system?)
|
301
|
+
end
|
302
|
+
|
303
|
+
def test_temporary
|
304
|
+
assert_respond_to(@stat, :temporary?)
|
305
|
+
assert_nothing_raised{ @stat.temporary? }
|
306
|
+
assert_equal(false, @stat.temporary?)
|
307
|
+
end
|
308
|
+
|
309
|
+
def test_uid
|
310
|
+
assert_respond_to(@stat, :uid)
|
311
|
+
assert_equal(0, @stat.uid)
|
312
|
+
end
|
313
|
+
|
314
|
+
def test_writable
|
315
|
+
assert_respond_to(@stat, :writable?)
|
316
|
+
assert_equal(true, @stat.writable?)
|
317
|
+
end
|
318
|
+
|
319
|
+
def test_writable_real
|
320
|
+
assert_respond_to(@stat, :writable_real?)
|
321
|
+
assert_equal(true, @stat.writable_real?)
|
322
|
+
end
|
323
|
+
|
324
|
+
def test_zero
|
325
|
+
assert_respond_to(@stat, :zero?)
|
326
|
+
assert_equal(false, @stat.zero?)
|
327
|
+
end
|
328
|
+
|
329
|
+
def teardown
|
330
|
+
SetFileAttributes(@@txt_file, @attr) # Set file back to normal
|
331
|
+
@dir = nil
|
332
|
+
@stat = nil
|
333
|
+
@attr = nil
|
334
|
+
end
|
335
|
+
|
336
|
+
def self.shutdown
|
337
|
+
File.delete(@@txt_file) if File.exists?(@@txt_file)
|
338
|
+
File.delete(@@exe_file) if File.exists?(@@exe_file)
|
339
|
+
@@block_dev = nil
|
340
|
+
@@txt_file = nil
|
341
|
+
@@exe_file = nil
|
342
|
+
end
|
343
|
+
end
|
data/win32-file-stat.gemspec
CHANGED
@@ -2,7 +2,7 @@ require "rubygems"
|
|
2
2
|
|
3
3
|
spec = Gem::Specification.new do |gem|
|
4
4
|
gem.name = "win32-file-stat"
|
5
|
-
gem.version = "1.3.
|
5
|
+
gem.version = "1.3.2"
|
6
6
|
gem.authors = ["Daniel J. Berger", "Park Heesob"]
|
7
7
|
gem.email = "djberg96@gmail.com"
|
8
8
|
gem.homepage = "http://www.rubyforge.org/projects/win32utils"
|
@@ -16,6 +16,7 @@ spec = Gem::Specification.new do |gem|
|
|
16
16
|
gem.require_path = "lib"
|
17
17
|
gem.extra_rdoc_files = ["README", "CHANGES"]
|
18
18
|
gem.add_dependency("windows-pr", ">= 0.9.1")
|
19
|
+
gem.add_dependency("test-unit", ">= 2.0.0")
|
19
20
|
gem.rubyforge_project = 'Win32Utils'
|
20
21
|
end
|
21
22
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: win32-file-stat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2008-
|
13
|
+
date: 2008-10-01 00:00:00 -06:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -23,6 +23,16 @@ dependencies:
|
|
23
23
|
- !ruby/object:Gem::Version
|
24
24
|
version: 0.9.1
|
25
25
|
version:
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: test-unit
|
28
|
+
type: :runtime
|
29
|
+
version_requirement:
|
30
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 2.0.0
|
35
|
+
version:
|
26
36
|
description: A File::Stat class tailored to MS Windows
|
27
37
|
email: djberg96@gmail.com
|
28
38
|
executables: []
|
@@ -41,9 +51,8 @@ files:
|
|
41
51
|
- README
|
42
52
|
- test
|
43
53
|
- win32-file-stat.gemspec
|
44
|
-
- test/sometestfile.exe
|
45
|
-
- test/sometestfile.txt
|
46
54
|
- test/test_file_stat.rb
|
55
|
+
- test/test_file_stat.rb~
|
47
56
|
has_rdoc: true
|
48
57
|
homepage: http://www.rubyforge.org/projects/win32utils
|
49
58
|
post_install_message:
|
@@ -66,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
66
75
|
requirements: []
|
67
76
|
|
68
77
|
rubyforge_project: Win32Utils
|
69
|
-
rubygems_version: 1.
|
78
|
+
rubygems_version: 1.3.0
|
70
79
|
signing_key:
|
71
80
|
specification_version: 2
|
72
81
|
summary: A File::Stat class tailored to MS Windows
|
data/test/sometestfile.exe
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
This is a test
|
data/test/sometestfile.txt
DELETED