win32-file-stat 1.3.1 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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