memfs 0.4.1 → 0.4.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.
@@ -14,20 +14,20 @@ module MemFs
14
14
  let(:dir_stat) { File::Stat.new('/test-dir') }
15
15
  let(:dereferenced_dir_stat) { File::Stat.new('/test-dir', true) }
16
16
 
17
- let(:entry) { fs.find!('/test-file') }
17
+ let(:entry) { _fs.find!('/test-file') }
18
18
 
19
19
  before :each do
20
- fs.mkdir('/test-dir')
21
- fs.touch('/test-file')
22
- fs.symlink('/test-file', '/test-link')
23
- fs.symlink('/test-dir', '/test-dir-link')
24
- fs.symlink('/no-file', '/test-no-file-link')
20
+ _fs.mkdir('/test-dir')
21
+ _fs.touch('/test-file')
22
+ _fs.symlink('/test-file', '/test-link')
23
+ _fs.symlink('/test-dir', '/test-dir-link')
24
+ _fs.symlink('/no-file', '/test-no-file-link')
25
25
  end
26
26
 
27
27
  describe '.new' do
28
- context "when optional dereference argument is set to true" do
29
- context "when the last target of the link chain does not exist" do
30
- it "raises an exception" do
28
+ context 'when optional dereference argument is set to true' do
29
+ context 'when the last target of the link chain does not exist' do
30
+ it 'raises an exception' do
31
31
  expect {
32
32
  File::Stat.new('/test-no-file-link', true)
33
33
  }.to raise_error(Errno::ENOENT)
@@ -37,24 +37,24 @@ module MemFs
37
37
  end
38
38
 
39
39
  describe '#atime' do
40
- let(:time) { Time.now - 500000 }
40
+ let(:time) { Time.now - 500_000 }
41
41
 
42
- it "returns the access time of the entry" do
43
- entry = fs.find!('/test-file')
42
+ it 'returns the access time of the entry' do
43
+ entry = _fs.find!('/test-file')
44
44
  entry.atime = time
45
45
  expect(file_stat.atime).to eq(time)
46
46
  end
47
47
 
48
- context "when the entry is a symlink" do
49
- context "and the optional dereference argument is true" do
50
- it "returns the access time of the last target of the link chain" do
48
+ context 'when the entry is a symlink' do
49
+ context 'and the optional dereference argument is true' do
50
+ it 'returns the access time of the last target of the link chain' do
51
51
  entry.atime = time
52
52
  expect(dereferenced_link_stat.atime).to eq(time)
53
53
  end
54
54
  end
55
55
 
56
- context "and the optional dereference argument is false" do
57
- it "returns the access time of the symlink itself" do
56
+ context 'and the optional dereference argument is false' do
57
+ it 'returns the access time of the symlink itself' do
58
58
  entry.atime = time
59
59
  expect(link_stat.atime).not_to eq(time)
60
60
  end
@@ -62,66 +62,66 @@ module MemFs
62
62
  end
63
63
  end
64
64
 
65
- describe "#blksize" do
66
- it "returns the block size of the file" do
65
+ describe '#blksize' do
66
+ it 'returns the block size of the file' do
67
67
  expect(file_stat.blksize).to be(4096)
68
68
  end
69
69
  end
70
70
 
71
- describe "#blockdev?" do
72
- context "when the file is a block device" do
73
- it "returns true" do
74
- fs.touch('/block-file')
75
- file = fs.find('/block-file')
71
+ describe '#blockdev?' do
72
+ context 'when the file is a block device' do
73
+ it 'returns true' do
74
+ _fs.touch('/block-file')
75
+ file = _fs.find('/block-file')
76
76
  file.block_device = true
77
77
  block_stat = File::Stat.new('/block-file')
78
- expect(block_stat.blockdev?).to be_true
78
+ expect(block_stat.blockdev?).to be true
79
79
  end
80
80
  end
81
81
 
82
- context "when the file is not a block device" do
83
- it "returns false" do
84
- expect(file_stat.blockdev?).to be_false
82
+ context 'when the file is not a block device' do
83
+ it 'returns false' do
84
+ expect(file_stat.blockdev?).to be false
85
85
  end
86
86
  end
87
87
  end
88
88
 
89
- describe "#chardev?" do
90
- context "when the file is a character device" do
91
- it "returns true" do
92
- fs.touch('/character-file')
93
- file = fs.find('/character-file')
89
+ describe '#chardev?' do
90
+ context 'when the file is a character device' do
91
+ it 'returns true' do
92
+ _fs.touch('/character-file')
93
+ file = _fs.find('/character-file')
94
94
  file.character_device = true
95
95
  character_stat = File::Stat.new('/character-file')
96
- expect(character_stat.chardev?).to be_true
96
+ expect(character_stat.chardev?).to be true
97
97
  end
98
98
  end
99
99
 
100
- context "when the file is not a character device" do
101
- it "returns false" do
102
- expect(file_stat.chardev?).to be_false
100
+ context 'when the file is not a character device' do
101
+ it 'returns false' do
102
+ expect(file_stat.chardev?).to be false
103
103
  end
104
104
  end
105
105
  end
106
106
 
107
107
  describe '#ctime' do
108
- let(:time) { Time.now - 500000 }
108
+ let(:time) { Time.now - 500_000 }
109
109
 
110
- it "returns the access time of the entry" do
110
+ it 'returns the access time of the entry' do
111
111
  entry.ctime = time
112
112
  expect(file_stat.ctime).to eq(time)
113
113
  end
114
114
 
115
- context "when the entry is a symlink" do
116
- context "and the optional dereference argument is true" do
117
- it "returns the access time of the last target of the link chain" do
115
+ context 'when the entry is a symlink' do
116
+ context 'and the optional dereference argument is true' do
117
+ it 'returns the access time of the last target of the link chain' do
118
118
  entry.ctime = time
119
119
  expect(dereferenced_link_stat.ctime).to eq(time)
120
120
  end
121
121
  end
122
122
 
123
- context "and the optional dereference argument is false" do
124
- it "returns the access time of the symlink itself" do
123
+ context 'and the optional dereference argument is false' do
124
+ it 'returns the access time of the symlink itself' do
125
125
  entry.ctime = time
126
126
  expect(link_stat.ctime).not_to eq(time)
127
127
  end
@@ -129,64 +129,64 @@ module MemFs
129
129
  end
130
130
  end
131
131
 
132
- describe "#dev" do
133
- it "returns an integer representing the device on which stat resides" do
132
+ describe '#dev' do
133
+ it 'returns an integer representing the device on which stat resides' do
134
134
  expect(file_stat.dev).to be_a(Fixnum)
135
135
  end
136
136
  end
137
137
 
138
138
  describe '#directory?' do
139
139
  context 'when dereference is true' do
140
- context "when the entry is a directory" do
141
- it "returns true" do
142
- expect(dereferenced_dir_stat.directory?).to be_true
140
+ context 'when the entry is a directory' do
141
+ it 'returns true' do
142
+ expect(dereferenced_dir_stat.directory?).to be true
143
143
  end
144
144
  end
145
145
 
146
- context "when the entry is not a directory" do
147
- it "returns false" do
148
- expect(dereferenced_file_stat.directory?).to be_false
146
+ context 'when the entry is not a directory' do
147
+ it 'returns false' do
148
+ expect(dereferenced_file_stat.directory?).to be false
149
149
  end
150
150
  end
151
151
 
152
- context "when the entry is a symlink" do
153
- context "and the last target of the link chain is a directory" do
154
- it "returns true" do
155
- expect(dereferenced_dir_link_stat.directory?).to be_true
152
+ context 'when the entry is a symlink' do
153
+ context 'and the last target of the link chain is a directory' do
154
+ it 'returns true' do
155
+ expect(dereferenced_dir_link_stat.directory?).to be true
156
156
  end
157
157
  end
158
158
 
159
- context "and the last target of the link chain is not a directory" do
160
- it "returns false" do
161
- expect(dereferenced_link_stat.directory?).to be_false
159
+ context 'and the last target of the link chain is not a directory' do
160
+ it 'returns false' do
161
+ expect(dereferenced_link_stat.directory?).to be false
162
162
  end
163
163
  end
164
164
  end
165
165
  end
166
166
 
167
167
  context 'when dereference is false' do
168
- context "when the entry is a directory" do
169
- it "returns true" do
170
- expect(dir_stat.directory?).to be_true
168
+ context 'when the entry is a directory' do
169
+ it 'returns true' do
170
+ expect(dir_stat.directory?).to be true
171
171
  end
172
172
  end
173
173
 
174
- context "when the entry is not a directory" do
175
- it "returns false" do
176
- expect(file_stat.directory?).to be_false
174
+ context 'when the entry is not a directory' do
175
+ it 'returns false' do
176
+ expect(file_stat.directory?).to be false
177
177
  end
178
178
  end
179
179
 
180
- context "when the entry is a symlink" do
181
- context "and the last target of the link chain is a directory" do
182
- it "returns false" do
183
- expect(dir_link_stat.directory?).to be_false
180
+ context 'when the entry is a symlink' do
181
+ context 'and the last target of the link chain is a directory' do
182
+ it 'returns false' do
183
+ expect(dir_link_stat.directory?).to be false
184
184
  end
185
185
  end
186
186
 
187
- context "and the last target of the link chain is not a directory" do
188
- it "returns false" do
189
- expect(link_stat.directory?).to be_false
187
+ context 'and the last target of the link chain is not a directory' do
188
+ it 'returns false' do
189
+ expect(link_stat.directory?).to be false
190
190
  end
191
191
  end
192
192
  end
@@ -194,12 +194,12 @@ module MemFs
194
194
  end
195
195
 
196
196
  describe '#entry' do
197
- it "returns the comcerned entry" do
197
+ it 'returns the comcerned entry' do
198
198
  expect(file_stat.entry).to be_a(Fake::File)
199
199
  end
200
200
  end
201
201
 
202
- describe "#executable?" do
202
+ describe '#executable?' do
203
203
  let(:access) { 0 }
204
204
  let(:gid) { 0 }
205
205
  let(:uid) { 0 }
@@ -210,54 +210,54 @@ module MemFs
210
210
  entry.gid = gid
211
211
  end
212
212
 
213
- context "when the file is not executable by anyone" do
214
- it "return false" do
215
- expect(file_stat.executable?).to be_false
213
+ context 'when the file is not executable by anyone' do
214
+ it 'return false' do
215
+ expect(file_stat.executable?).to be false
216
216
  end
217
217
  end
218
218
 
219
- context "when the file is user executable" do
219
+ context 'when the file is user executable' do
220
220
  let(:access) { MemFs::Fake::Entry::UEXEC }
221
221
 
222
- context "and the current user owns the file" do
222
+ context 'and the current user owns the file' do
223
223
  let(:uid) { Process.euid }
224
224
 
225
- it "returns true" do
226
- expect(file_stat.executable?).to be_true
225
+ it 'returns true' do
226
+ expect(file_stat.executable?).to be true
227
227
  end
228
228
  end
229
229
  end
230
230
 
231
- context "when the file is group executable" do
231
+ context 'when the file is group executable' do
232
232
  let(:access) { MemFs::Fake::Entry::GEXEC }
233
233
 
234
- context "and the current user is part of the owner group" do
234
+ context 'and the current user is part of the owner group' do
235
235
  let(:gid) { Process.egid }
236
236
 
237
- it "returns true" do
238
- expect(file_stat.executable?).to be_true
237
+ it 'returns true' do
238
+ expect(file_stat.executable?).to be true
239
239
  end
240
240
  end
241
241
  end
242
242
 
243
- context "when the file is executable by anyone" do
243
+ context 'when the file is executable by anyone' do
244
244
  let(:access) { MemFs::Fake::Entry::OEXEC }
245
245
 
246
- context "and the user has no specific right on it" do
247
- it "returns true" do
248
- expect(file_stat.executable?).to be_true
246
+ context 'and the user has no specific right on it' do
247
+ it 'returns true' do
248
+ expect(file_stat.executable?).to be true
249
249
  end
250
250
  end
251
251
  end
252
252
 
253
- context "when the file does not exist" do
254
- it "returns false" do
255
- expect(file_stat.executable?).to be_false
253
+ context 'when the file does not exist' do
254
+ it 'returns false' do
255
+ expect(file_stat.executable?).to be false
256
256
  end
257
257
  end
258
258
  end
259
259
 
260
- describe "#executable_real?" do
260
+ describe '#executable_real?' do
261
261
  let(:access) { 0 }
262
262
  let(:gid) { 0 }
263
263
  let(:uid) { 0 }
@@ -268,145 +268,145 @@ module MemFs
268
268
  entry.gid = gid
269
269
  end
270
270
 
271
- context "when the file is not executable by anyone" do
272
- it "return false" do
273
- expect(file_stat.executable_real?).to be_false
271
+ context 'when the file is not executable by anyone' do
272
+ it 'return false' do
273
+ expect(file_stat.executable_real?).to be false
274
274
  end
275
275
  end
276
276
 
277
- context "when the file is user executable" do
277
+ context 'when the file is user executable' do
278
278
  let(:access) { MemFs::Fake::Entry::UEXEC }
279
279
 
280
- context "and the current user owns the file" do
280
+ context 'and the current user owns the file' do
281
281
  let(:uid) { Process.uid }
282
282
 
283
- it "returns true" do
284
- expect(file_stat.executable_real?).to be_true
283
+ it 'returns true' do
284
+ expect(file_stat.executable_real?).to be true
285
285
  end
286
286
  end
287
287
  end
288
288
 
289
- context "when the file is group executable" do
289
+ context 'when the file is group executable' do
290
290
  let(:access) { MemFs::Fake::Entry::GEXEC }
291
291
 
292
- context "and the current user is part of the owner group" do
292
+ context 'and the current user is part of the owner group' do
293
293
  let(:gid) { Process.gid }
294
294
 
295
- it "returns true" do
296
- expect(file_stat.executable_real?).to be_true
295
+ it 'returns true' do
296
+ expect(file_stat.executable_real?).to be true
297
297
  end
298
298
  end
299
299
  end
300
300
 
301
- context "when the file is executable by anyone" do
301
+ context 'when the file is executable by anyone' do
302
302
  let(:access) { MemFs::Fake::Entry::OEXEC }
303
303
 
304
- context "and the user has no specific right on it" do
305
- it "returns true" do
306
- expect(file_stat.executable_real?).to be_true
304
+ context 'and the user has no specific right on it' do
305
+ it 'returns true' do
306
+ expect(file_stat.executable_real?).to be true
307
307
  end
308
308
  end
309
309
  end
310
310
 
311
- context "when the file does not exist" do
312
- it "returns false" do
313
- expect(file_stat.executable_real?).to be_false
311
+ context 'when the file does not exist' do
312
+ it 'returns false' do
313
+ expect(file_stat.executable_real?).to be false
314
314
  end
315
315
  end
316
316
  end
317
317
 
318
- describe "#file?" do
318
+ describe '#file?' do
319
319
  context 'when dereference is true' do
320
- context "when the entry is a regular file" do
321
- it "returns true" do
322
- expect(dereferenced_file_stat.file?).to be_true
320
+ context 'when the entry is a regular file' do
321
+ it 'returns true' do
322
+ expect(dereferenced_file_stat.file?).to be true
323
323
  end
324
324
  end
325
325
 
326
- context "when the entry is not a regular file" do
327
- it "returns false" do
328
- expect(dereferenced_dir_stat.file?).to be_false
326
+ context 'when the entry is not a regular file' do
327
+ it 'returns false' do
328
+ expect(dereferenced_dir_stat.file?).to be false
329
329
  end
330
330
  end
331
331
 
332
- context "when the entry is a symlink" do
333
- context "and the last target of the link chain is a regular file" do
334
- it "returns true" do
335
- expect(dereferenced_link_stat.file?).to be_true
332
+ context 'when the entry is a symlink' do
333
+ context 'and the last target of the link chain is a regular file' do
334
+ it 'returns true' do
335
+ expect(dereferenced_link_stat.file?).to be true
336
336
  end
337
337
  end
338
338
 
339
- context "and the last target of the link chain is not a regular file" do
340
- it "returns false" do
341
- expect(dereferenced_dir_link_stat.file?).to be_false
339
+ context 'and the last target of the link chain is not a regular file' do
340
+ it 'returns false' do
341
+ expect(dereferenced_dir_link_stat.file?).to be false
342
342
  end
343
343
  end
344
344
  end
345
345
  end
346
346
 
347
347
  context 'when dereference is false' do
348
- context "when the entry is a regular file" do
349
- it "returns true" do
350
- expect(file_stat.file?).to be_true
348
+ context 'when the entry is a regular file' do
349
+ it 'returns true' do
350
+ expect(file_stat.file?).to be true
351
351
  end
352
352
  end
353
353
 
354
- context "when the entry is not a regular file" do
355
- it "returns false" do
356
- expect(dir_stat.file?).to be_false
354
+ context 'when the entry is not a regular file' do
355
+ it 'returns false' do
356
+ expect(dir_stat.file?).to be false
357
357
  end
358
358
  end
359
359
 
360
- context "when the entry is a symlink" do
361
- context "and the last target of the link chain is a regular file" do
362
- it "returns false" do
363
- expect(link_stat.file?).to be_false
360
+ context 'when the entry is a symlink' do
361
+ context 'and the last target of the link chain is a regular file' do
362
+ it 'returns false' do
363
+ expect(link_stat.file?).to be false
364
364
  end
365
365
  end
366
366
 
367
- context "and the last target of the link chain is not a regular file" do
368
- it "returns false" do
369
- expect(dir_link_stat.file?).to be_false
367
+ context 'and the last target of the link chain is not a regular file' do
368
+ it 'returns false' do
369
+ expect(dir_link_stat.file?).to be false
370
370
  end
371
371
  end
372
372
  end
373
373
  end
374
374
  end
375
375
 
376
- describe "#ftype" do
377
- context "when the entry is a regular file" do
376
+ describe '#ftype' do
377
+ context 'when the entry is a regular file' do
378
378
  it "returns 'file'" do
379
379
  expect(file_stat.ftype).to eq('file')
380
380
  end
381
381
  end
382
382
 
383
- context "when the entry is a directory" do
383
+ context 'when the entry is a directory' do
384
384
  it "returns 'directory'" do
385
385
  expect(dir_stat.ftype).to eq('directory')
386
386
  end
387
387
  end
388
388
 
389
- context "when the entry is a block device" do
389
+ context 'when the entry is a block device' do
390
390
  it "returns 'blockSpecial'" do
391
- fs.touch('/block-file')
392
- file = fs.find('/block-file')
391
+ _fs.touch('/block-file')
392
+ file = _fs.find('/block-file')
393
393
  file.block_device = true
394
394
  block_stat = File::Stat.new('/block-file')
395
395
  expect(block_stat.ftype).to eq('blockSpecial')
396
396
  end
397
397
  end
398
398
 
399
- context "when the entry is a character device" do
399
+ context 'when the entry is a character device' do
400
400
  it "returns 'characterSpecial'" do
401
- fs.touch('/character-file')
402
- file = fs.find('/character-file')
401
+ _fs.touch('/character-file')
402
+ file = _fs.find('/character-file')
403
403
  file.character_device = true
404
404
  character_stat = File::Stat.new('/character-file')
405
405
  expect(character_stat.ftype).to eq('characterSpecial')
406
406
  end
407
407
  end
408
408
 
409
- context "when the entry is a symlink" do
409
+ context 'when the entry is a symlink' do
410
410
  it "returns 'link'" do
411
411
  expect(link_stat.ftype).to eq('link')
412
412
  end
@@ -414,9 +414,9 @@ module MemFs
414
414
 
415
415
  # fifo and socket not handled for now
416
416
 
417
- context "when the entry has no specific type" do
417
+ context 'when the entry has no specific type' do
418
418
  it "returns 'unknown'" do
419
- root = fs.find('/')
419
+ root = _fs.find('/')
420
420
  root.add_entry Fake::Entry.new('test-entry')
421
421
  entry_stat = File::Stat.new('/test-entry')
422
422
  expect(entry_stat.ftype).to eq('unknown')
@@ -424,69 +424,69 @@ module MemFs
424
424
  end
425
425
  end
426
426
 
427
- describe "#gid" do
428
- it "returns the group id of the named entry" do
429
- fs.chown(nil, 42, '/test-file')
427
+ describe '#gid' do
428
+ it 'returns the group id of the named entry' do
429
+ _fs.chown(nil, 42, '/test-file')
430
430
  expect(file_stat.gid).to be(42)
431
431
  end
432
432
  end
433
433
 
434
- describe "#grpowned?" do
435
- context "when the effective user group owns of the file" do
436
- it "returns true" do
437
- fs.chown(0, Process.egid, '/test-file')
438
- expect(file_stat.grpowned?).to be_true
434
+ describe '#grpowned?' do
435
+ context 'when the effective user group owns of the file' do
436
+ it 'returns true' do
437
+ _fs.chown(0, Process.egid, '/test-file')
438
+ expect(file_stat.grpowned?).to be true
439
439
  end
440
440
  end
441
441
 
442
- context "when the effective user group does not own of the file" do
443
- it "returns false" do
444
- fs.chown(0, 0, '/test-file')
445
- expect(file_stat.grpowned?).to be_false
442
+ context 'when the effective user group does not own of the file' do
443
+ it 'returns false' do
444
+ _fs.chown(0, 0, '/test-file')
445
+ expect(file_stat.grpowned?).to be false
446
446
  end
447
447
  end
448
448
  end
449
449
 
450
- describe "#ino" do
451
- it "returns the inode number for stat." do
450
+ describe '#ino' do
451
+ it 'returns the inode number for stat.' do
452
452
  expect(file_stat.ino).to be_a(Fixnum)
453
453
  end
454
454
  end
455
455
 
456
456
  describe '#mode' do
457
- it "returns an integer representing the permission bits of stat" do
458
- fs.chmod(0777, '/test-file')
457
+ it 'returns an integer representing the permission bits of stat' do
458
+ _fs.chmod(0777, '/test-file')
459
459
  expect(file_stat.mode).to be(0100777)
460
460
  end
461
461
  end
462
462
 
463
- describe "#owned?" do
464
- context "when the effective user owns of the file" do
465
- it "returns true" do
466
- fs.chown(Process.euid, 0, '/test-file')
467
- expect(file_stat.owned?).to be_true
463
+ describe '#owned?' do
464
+ context 'when the effective user owns of the file' do
465
+ it 'returns true' do
466
+ _fs.chown(Process.euid, 0, '/test-file')
467
+ expect(file_stat.owned?).to be true
468
468
  end
469
469
  end
470
470
 
471
- context "when the effective user does not own of the file" do
472
- it "returns false" do
473
- fs.chown(0, 0, '/test-file')
474
- expect(file_stat.owned?).to be_false
471
+ context 'when the effective user does not own of the file' do
472
+ it 'returns false' do
473
+ _fs.chown(0, 0, '/test-file')
474
+ expect(file_stat.owned?).to be false
475
475
  end
476
476
  end
477
477
  end
478
478
 
479
- describe "#pipe?" do
479
+ describe '#pipe?' do
480
480
  # Pipes are not handled for now
481
481
 
482
- context "when the file is not a pipe" do
483
- it "returns false" do
484
- expect(file_stat.pipe?).to be_false
482
+ context 'when the file is not a pipe' do
483
+ it 'returns false' do
484
+ expect(file_stat.pipe?).to be false
485
485
  end
486
486
  end
487
487
  end
488
488
 
489
- describe "#readable?" do
489
+ describe '#readable?' do
490
490
  let(:access) { 0 }
491
491
  let(:gid) { 0 }
492
492
  let(:uid) { 0 }
@@ -497,48 +497,48 @@ module MemFs
497
497
  entry.gid = gid
498
498
  end
499
499
 
500
- context "when the file is not readable by anyone" do
501
- it "return false" do
502
- expect(file_stat.readable?).to be_false
500
+ context 'when the file is not readable by anyone' do
501
+ it 'return false' do
502
+ expect(file_stat.readable?).to be false
503
503
  end
504
504
  end
505
505
 
506
- context "when the file is user readable" do
506
+ context 'when the file is user readable' do
507
507
  let(:access) { MemFs::Fake::Entry::UREAD }
508
508
 
509
- context "and the current user owns the file" do
509
+ context 'and the current user owns the file' do
510
510
  let(:uid) { Process.euid }
511
511
 
512
- it "returns true" do
513
- expect(file_stat.readable?).to be_true
512
+ it 'returns true' do
513
+ expect(file_stat.readable?).to be true
514
514
  end
515
515
  end
516
516
  end
517
517
 
518
- context "when the file is group readable" do
518
+ context 'when the file is group readable' do
519
519
  let(:access) { MemFs::Fake::Entry::GREAD }
520
520
 
521
- context "and the current user is part of the owner group" do
521
+ context 'and the current user is part of the owner group' do
522
522
  let(:gid) { Process.egid }
523
523
 
524
- it "returns true" do
525
- expect(file_stat.readable?).to be_true
524
+ it 'returns true' do
525
+ expect(file_stat.readable?).to be true
526
526
  end
527
527
  end
528
528
  end
529
529
 
530
- context "when the file is readable by anyone" do
530
+ context 'when the file is readable by anyone' do
531
531
  let(:access) { MemFs::Fake::Entry::OREAD }
532
532
 
533
- context "and the user has no specific right on it" do
534
- it "returns true" do
535
- expect(file_stat.readable?).to be_true
533
+ context 'and the user has no specific right on it' do
534
+ it 'returns true' do
535
+ expect(file_stat.readable?).to be true
536
536
  end
537
537
  end
538
538
  end
539
539
  end
540
540
 
541
- describe "#readable_real?" do
541
+ describe '#readable_real?' do
542
542
  let(:access) { 0 }
543
543
  let(:gid) { 0 }
544
544
  let(:uid) { 0 }
@@ -549,174 +549,174 @@ module MemFs
549
549
  entry.gid = gid
550
550
  end
551
551
 
552
- context "when the file is not readable by anyone" do
553
- it "return false" do
554
- expect(file_stat.readable_real?).to be_false
552
+ context 'when the file is not readable by anyone' do
553
+ it 'return false' do
554
+ expect(file_stat.readable_real?).to be false
555
555
  end
556
556
  end
557
557
 
558
- context "when the file is user readable" do
558
+ context 'when the file is user readable' do
559
559
  let(:access) { MemFs::Fake::Entry::UREAD }
560
560
 
561
- context "and the current user owns the file" do
561
+ context 'and the current user owns the file' do
562
562
  let(:uid) { Process.euid }
563
563
 
564
- it "returns true" do
565
- expect(file_stat.readable_real?).to be_true
564
+ it 'returns true' do
565
+ expect(file_stat.readable_real?).to be true
566
566
  end
567
567
  end
568
568
  end
569
569
 
570
- context "when the file is group readable" do
570
+ context 'when the file is group readable' do
571
571
  let(:access) { MemFs::Fake::Entry::GREAD }
572
572
 
573
- context "and the current user is part of the owner group" do
573
+ context 'and the current user is part of the owner group' do
574
574
  let(:gid) { Process.egid }
575
575
 
576
- it "returns true" do
577
- expect(file_stat.readable_real?).to be_true
576
+ it 'returns true' do
577
+ expect(file_stat.readable_real?).to be true
578
578
  end
579
579
  end
580
580
  end
581
581
 
582
- context "when the file is readable by anyone" do
582
+ context 'when the file is readable by anyone' do
583
583
  let(:access) { MemFs::Fake::Entry::OREAD }
584
584
 
585
- context "and the user has no specific right on it" do
586
- it "returns true" do
587
- expect(file_stat.readable_real?).to be_true
585
+ context 'and the user has no specific right on it' do
586
+ it 'returns true' do
587
+ expect(file_stat.readable_real?).to be true
588
588
  end
589
589
  end
590
590
  end
591
591
 
592
- context "when the file does not exist" do
593
- it "returns false" do
594
- expect(file_stat.readable_real?).to be_false
592
+ context 'when the file does not exist' do
593
+ it 'returns false' do
594
+ expect(file_stat.readable_real?).to be false
595
595
  end
596
596
  end
597
597
  end
598
598
 
599
- describe "#setgid?" do
600
- context "when the file has the setgid bit set" do
601
- it "returns true" do
602
- fs.chmod(02000, '/test-file')
603
- expect(file_stat.setgid?).to be_true
599
+ describe '#setgid?' do
600
+ context 'when the file has the setgid bit set' do
601
+ it 'returns true' do
602
+ _fs.chmod(02000, '/test-file')
603
+ expect(file_stat.setgid?).to be true
604
604
  end
605
605
  end
606
606
 
607
- context "when the file does not have the setgid bit set" do
608
- it "returns false" do
609
- expect(file_stat.setgid?).to be_false
607
+ context 'when the file does not have the setgid bit set' do
608
+ it 'returns false' do
609
+ expect(file_stat.setgid?).to be false
610
610
  end
611
611
  end
612
612
  end
613
613
 
614
- describe "#setuid?" do
615
- context "when the file has the setuid bit set" do
616
- it "returns true" do
617
- fs.chmod(04000, '/test-file')
618
- expect(file_stat.setuid?).to be_true
614
+ describe '#setuid?' do
615
+ context 'when the file has the setuid bit set' do
616
+ it 'returns true' do
617
+ _fs.chmod(04000, '/test-file')
618
+ expect(file_stat.setuid?).to be true
619
619
  end
620
620
  end
621
621
 
622
- context "when the file does not have the setuid bit set" do
623
- it "returns false" do
624
- expect(file_stat.setuid?).to be_false
622
+ context 'when the file does not have the setuid bit set' do
623
+ it 'returns false' do
624
+ expect(file_stat.setuid?).to be false
625
625
  end
626
626
  end
627
627
  end
628
628
 
629
- describe "#socket?" do
629
+ describe '#socket?' do
630
630
  # Sockets are not handled for now
631
631
 
632
- context "when the file is not a socket" do
633
- it "returns false" do
634
- expect(file_stat.socket?).to be_false
632
+ context 'when the file is not a socket' do
633
+ it 'returns false' do
634
+ expect(file_stat.socket?).to be false
635
635
  end
636
636
  end
637
637
  end
638
638
 
639
- describe "#sticky?" do
640
- it "returns true if the named file has the sticky bit set" do
641
- fs.chmod(01777, '/test-file')
642
- expect(file_stat.sticky?).to be_true
639
+ describe '#sticky?' do
640
+ it 'returns true if the named file has the sticky bit set' do
641
+ _fs.chmod(01777, '/test-file')
642
+ expect(file_stat.sticky?).to be true
643
643
  end
644
644
 
645
645
  it "returns false if the named file hasn't' the sticky bit set" do
646
- expect(file_stat.sticky?).to be_false
646
+ expect(file_stat.sticky?).to be false
647
647
  end
648
648
  end
649
649
 
650
650
  describe '#symlink?' do
651
651
  context 'when dereference is true' do
652
- context "when the entry is a symlink" do
653
- it "returns false" do
654
- expect(dereferenced_link_stat.symlink?).to be_false
652
+ context 'when the entry is a symlink' do
653
+ it 'returns false' do
654
+ expect(dereferenced_link_stat.symlink?).to be false
655
655
  end
656
656
  end
657
657
 
658
- context "when the entry is not a symlink" do
659
- it "returns false" do
660
- expect(dereferenced_file_stat.symlink?).to be_false
658
+ context 'when the entry is not a symlink' do
659
+ it 'returns false' do
660
+ expect(dereferenced_file_stat.symlink?).to be false
661
661
  end
662
662
  end
663
663
  end
664
664
 
665
665
  context 'when dereference is false' do
666
- context "when the entry is a symlink" do
667
- it "returns true" do
668
- expect(link_stat.symlink?).to be_true
666
+ context 'when the entry is a symlink' do
667
+ it 'returns true' do
668
+ expect(link_stat.symlink?).to be true
669
669
  end
670
670
  end
671
671
 
672
- context "when the entry is not a symlink" do
673
- it "returns false" do
674
- expect(file_stat.symlink?).to be_false
672
+ context 'when the entry is not a symlink' do
673
+ it 'returns false' do
674
+ expect(file_stat.symlink?).to be false
675
675
  end
676
676
  end
677
677
  end
678
678
  end
679
679
 
680
- describe "#uid" do
681
- it "returns the user id of the named entry" do
682
- fs.chown(42, nil, '/test-file')
680
+ describe '#uid' do
681
+ it 'returns the user id of the named entry' do
682
+ _fs.chown(42, nil, '/test-file')
683
683
  expect(file_stat.uid).to be(42)
684
684
  end
685
685
  end
686
686
 
687
- describe "#world_reable?" do
688
- context "when +file_name+ is readable by others" do
689
- it "returns an integer representing the file permission bits of +file_name+" do
690
- fs.chmod(MemFs::Fake::Entry::OREAD, '/test-file')
687
+ describe '#world_reable?' do
688
+ context 'when +file_name+ is readable by others' do
689
+ it 'returns an integer representing the file permission bits of +file_name+' do
690
+ _fs.chmod(MemFs::Fake::Entry::OREAD, '/test-file')
691
691
  expect(file_stat.world_readable?).to eq(MemFs::Fake::Entry::OREAD)
692
692
  end
693
693
  end
694
694
 
695
- context "when +file_name+ is not readable by others" do
696
- it "returns nil" do
697
- fs.chmod(MemFs::Fake::Entry::UREAD, '/test-file')
695
+ context 'when +file_name+ is not readable by others' do
696
+ it 'returns nil' do
697
+ _fs.chmod(MemFs::Fake::Entry::UREAD, '/test-file')
698
698
  expect(file_stat.world_readable?).to be_nil
699
699
  end
700
700
  end
701
701
  end
702
702
 
703
- describe "#world_writable?" do
704
- context "when +file_name+ is writable by others" do
705
- it "returns an integer representing the file permission bits of +file_name+" do
706
- fs.chmod(MemFs::Fake::Entry::OWRITE, '/test-file')
703
+ describe '#world_writable?' do
704
+ context 'when +file_name+ is writable by others' do
705
+ it 'returns an integer representing the file permission bits of +file_name+' do
706
+ _fs.chmod(MemFs::Fake::Entry::OWRITE, '/test-file')
707
707
  expect(file_stat.world_writable?).to eq(MemFs::Fake::Entry::OWRITE)
708
708
  end
709
709
  end
710
710
 
711
- context "when +file_name+ is not writable by others" do
712
- it "returns nil" do
713
- fs.chmod(MemFs::Fake::Entry::UWRITE, '/test-file')
711
+ context 'when +file_name+ is not writable by others' do
712
+ it 'returns nil' do
713
+ _fs.chmod(MemFs::Fake::Entry::UWRITE, '/test-file')
714
714
  expect(file_stat.world_writable?).to be_nil
715
715
  end
716
716
  end
717
717
  end
718
718
 
719
- describe "#writable?" do
719
+ describe '#writable?' do
720
720
  let(:access) { 0 }
721
721
  let(:gid) { 0 }
722
722
  let(:uid) { 0 }
@@ -727,54 +727,54 @@ module MemFs
727
727
  entry.gid = gid
728
728
  end
729
729
 
730
- context "when the file is not executable by anyone" do
731
- it "return false" do
732
- expect(file_stat.writable?).to be_false
730
+ context 'when the file is not executable by anyone' do
731
+ it 'return false' do
732
+ expect(file_stat.writable?).to be false
733
733
  end
734
734
  end
735
735
 
736
- context "when the file is user executable" do
736
+ context 'when the file is user executable' do
737
737
  let(:access) { MemFs::Fake::Entry::UWRITE }
738
738
 
739
- context "and the current user owns the file" do
739
+ context 'and the current user owns the file' do
740
740
  let(:uid) { Process.euid }
741
741
 
742
- it "returns true" do
743
- expect(file_stat.writable?).to be_true
742
+ it 'returns true' do
743
+ expect(file_stat.writable?).to be true
744
744
  end
745
745
  end
746
746
  end
747
747
 
748
- context "when the file is group executable" do
748
+ context 'when the file is group executable' do
749
749
  let(:access) { MemFs::Fake::Entry::GWRITE }
750
750
 
751
- context "and the current user is part of the owner group" do
751
+ context 'and the current user is part of the owner group' do
752
752
  let(:gid) { Process.egid }
753
753
 
754
- it "returns true" do
755
- expect(file_stat.writable?).to be_true
754
+ it 'returns true' do
755
+ expect(file_stat.writable?).to be true
756
756
  end
757
757
  end
758
758
  end
759
759
 
760
- context "when the file is executable by anyone" do
760
+ context 'when the file is executable by anyone' do
761
761
  let(:access) { MemFs::Fake::Entry::OWRITE }
762
762
 
763
- context "and the user has no specific right on it" do
764
- it "returns true" do
765
- expect(file_stat.writable?).to be_true
763
+ context 'and the user has no specific right on it' do
764
+ it 'returns true' do
765
+ expect(file_stat.writable?).to be true
766
766
  end
767
767
  end
768
768
  end
769
769
 
770
- context "when the file does not exist" do
771
- it "returns false" do
772
- expect(file_stat.writable?).to be_false
770
+ context 'when the file does not exist' do
771
+ it 'returns false' do
772
+ expect(file_stat.writable?).to be false
773
773
  end
774
774
  end
775
775
  end
776
776
 
777
- describe "#writable_real?" do
777
+ describe '#writable_real?' do
778
778
  let(:access) { 0 }
779
779
  let(:gid) { 0 }
780
780
  let(:uid) { 0 }
@@ -785,67 +785,67 @@ module MemFs
785
785
  entry.gid = gid
786
786
  end
787
787
 
788
- context "when the file is not executable by anyone" do
789
- it "return false" do
790
- expect(file_stat.writable_real?).to be_false
788
+ context 'when the file is not executable by anyone' do
789
+ it 'return false' do
790
+ expect(file_stat.writable_real?).to be false
791
791
  end
792
792
  end
793
793
 
794
- context "when the file is user executable" do
794
+ context 'when the file is user executable' do
795
795
  let(:access) { MemFs::Fake::Entry::UWRITE }
796
796
 
797
- context "and the current user owns the file" do
797
+ context 'and the current user owns the file' do
798
798
  let(:uid) { Process.euid }
799
799
 
800
- it "returns true" do
801
- expect(file_stat.writable_real?).to be_true
800
+ it 'returns true' do
801
+ expect(file_stat.writable_real?).to be true
802
802
  end
803
803
  end
804
804
  end
805
805
 
806
- context "when the file is group executable" do
806
+ context 'when the file is group executable' do
807
807
  let(:access) { MemFs::Fake::Entry::GWRITE }
808
808
 
809
- context "and the current user is part of the owner group" do
809
+ context 'and the current user is part of the owner group' do
810
810
  let(:gid) { Process.egid }
811
811
 
812
- it "returns true" do
813
- expect(file_stat.writable_real?).to be_true
812
+ it 'returns true' do
813
+ expect(file_stat.writable_real?).to be true
814
814
  end
815
815
  end
816
816
  end
817
817
 
818
- context "when the file is executable by anyone" do
818
+ context 'when the file is executable by anyone' do
819
819
  let(:access) { MemFs::Fake::Entry::OWRITE }
820
820
 
821
- context "and the user has no specific right on it" do
822
- it "returns true" do
823
- expect(file_stat.writable_real?).to be_true
821
+ context 'and the user has no specific right on it' do
822
+ it 'returns true' do
823
+ expect(file_stat.writable_real?).to be true
824
824
  end
825
825
  end
826
826
  end
827
827
 
828
- context "when the file does not exist" do
829
- it "returns false" do
830
- expect(file_stat.writable_real?).to be_false
828
+ context 'when the file does not exist' do
829
+ it 'returns false' do
830
+ expect(file_stat.writable_real?).to be false
831
831
  end
832
832
  end
833
833
  end
834
834
 
835
- describe "#zero?" do
836
- context "when the file has a zero size" do
837
- it "returns true" do
838
- expect(file_stat.zero?).to be_true
835
+ describe '#zero?' do
836
+ context 'when the file has a zero size' do
837
+ it 'returns true' do
838
+ expect(file_stat.zero?).to be true
839
839
  end
840
840
  end
841
841
 
842
- context "when the file does not have a zero size" do
842
+ context 'when the file does not have a zero size' do
843
843
  before :each do
844
- fs.find!('/test-file').content << 'test'
844
+ _fs.find!('/test-file').content << 'test'
845
845
  end
846
846
 
847
- it "returns false" do
848
- expect(file_stat.zero?).to be_false
847
+ it 'returns false' do
848
+ expect(file_stat.zero?).to be false
849
849
  end
850
850
  end
851
851
  end