fakefs 0.7.0 → 0.8.0
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.
- checksums.yaml +4 -4
- data/README.markdown +9 -9
- data/lib/fakefs/dir.rb +17 -12
- data/lib/fakefs/fake/file.rb +1 -1
- data/lib/fakefs/file.rb +18 -0
- data/lib/fakefs/fileutils.rb +22 -5
- data/lib/fakefs/globber.rb +1 -0
- data/lib/fakefs/pathname.rb +6 -3
- data/lib/fakefs/version.rb +1 -1
- metadata +19 -55
- data/.autotest +0 -5
- data/.gitignore +0 -12
- data/.rspec +0 -1
- data/.rubocop.yml +0 -54
- data/.travis.yml +0 -15
- data/CONTRIBUTORS +0 -97
- data/Gemfile +0 -3
- data/Rakefile +0 -62
- data/etc/git-rank-contributors +0 -57
- data/fakefs.gemspec +0 -27
- data/spec/fakefs/fakefs_bug_ruby_2.1.0-preview2_spec.rb +0 -18
- data/spec/fakefs/spec_helpers_spec.rb +0 -102
- data/spec/spec.opts +0 -1
- data/spec/spec_helper.rb +0 -3
- data/test/dir/tempfile_test.rb +0 -21
- data/test/fake/file/join_test.rb +0 -20
- data/test/fake/file/lstat_test.rb +0 -60
- data/test/fake/file/stat_test.rb +0 -40
- data/test/fake/file/sysseek_test.rb +0 -45
- data/test/fake/file/syswrite_test.rb +0 -63
- data/test/fake/file_test.rb +0 -112
- data/test/fake/symlink_test.rb +0 -33
- data/test/fakefs_test.rb +0 -2769
- data/test/file/stat_test.rb +0 -158
- data/test/globber_test.rb +0 -28
- data/test/kernel_test.rb +0 -57
- data/test/pathname_test.rb +0 -75
- data/test/safe_test.rb +0 -84
- data/test/test_helper.rb +0 -33
- data/test/verify.rb +0 -34
data/Gemfile
DELETED
data/Rakefile
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift File.join(File.dirname(__FILE__))
|
2
|
-
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), 'test')
|
3
|
-
|
4
|
-
require 'bundler/setup'
|
5
|
-
require 'rake/testtask'
|
6
|
-
require File.expand_path(File.join(File.dirname(__FILE__), "lib", "fakefs", "version"))
|
7
|
-
|
8
|
-
Rake::TestTask.new do |t|
|
9
|
-
t.libs << 'test'
|
10
|
-
t.test_files = FileList['test/**/*test.rb']
|
11
|
-
t.verbose = true
|
12
|
-
end
|
13
|
-
|
14
|
-
begin
|
15
|
-
require 'rspec/core/rake_task'
|
16
|
-
desc 'Run specs'
|
17
|
-
RSpec::Core::RakeTask.new
|
18
|
-
rescue LoadError
|
19
|
-
puts "Spec task can't be loaded. `gem install rspec`"
|
20
|
-
end
|
21
|
-
|
22
|
-
begin
|
23
|
-
require 'rubocop/rake_task'
|
24
|
-
desc 'Run RuboCop'
|
25
|
-
RuboCop::RakeTask.new(:rubocop)
|
26
|
-
rescue LoadError
|
27
|
-
puts "Rubocop task can't be loaded. `gem install rubocop`"
|
28
|
-
end
|
29
|
-
|
30
|
-
task default: [:test, :spec, :rubocop]
|
31
|
-
|
32
|
-
desc 'Push a new version to rubygems.org'
|
33
|
-
task :publish => [:rubocop, :test, :spec, :rubocop, :update_contributors, :tag, :release, :push]
|
34
|
-
|
35
|
-
desc 'Update contributors'
|
36
|
-
task :update_contributors do
|
37
|
-
git_rank_contributors = "#{File.dirname(File.expand_path(__FILE__))}/etc/git-rank-contributors"
|
38
|
-
|
39
|
-
sh "#{git_rank_contributors} > CONTRIBUTORS"
|
40
|
-
if `git status | grep CONTRIBUTORS`.strip.length > 0
|
41
|
-
sh "git add CONTRIBUTORS"
|
42
|
-
sh "git commit -m 'Update contributors for release'"
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
desc 'Release a new version'
|
47
|
-
task :release do
|
48
|
-
sh "gem build fakefs.gemspec"
|
49
|
-
sh "gem push fakefs-*.gem"
|
50
|
-
end
|
51
|
-
|
52
|
-
desc 'tag'
|
53
|
-
task :tag do
|
54
|
-
version = FakeFS::Version::VERSION
|
55
|
-
sh "git tag v#{version}"
|
56
|
-
sh "git push --tags"
|
57
|
-
end
|
58
|
-
|
59
|
-
desc 'Run git push'
|
60
|
-
task :push do
|
61
|
-
sh "git push origin master"
|
62
|
-
end
|
data/etc/git-rank-contributors
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
## git-rank-contributors: a simple script to trace through the logs and
|
4
|
-
## rank contributors by the total size of the diffs they're responsible for.
|
5
|
-
## A change counts twice as much as a plain addition or deletion.
|
6
|
-
##
|
7
|
-
## Output may or may not be suitable for inclusion in a CREDITS file.
|
8
|
-
## Probably not without some editing, because people often commit from more
|
9
|
-
## than one address.
|
10
|
-
##
|
11
|
-
## git-rank-contributors Copyright 2008 William Morgan <wmorgan-git-wt-add@masanjin.net>.
|
12
|
-
## This program is free software: you can redistribute it and/or modify
|
13
|
-
## it under the terms of the GNU General Public License as published by
|
14
|
-
## the Free Software Foundation, either version 3 of the License, or (at
|
15
|
-
## your option) any later version.
|
16
|
-
##
|
17
|
-
## This program is distributed in the hope that it will be useful,
|
18
|
-
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
19
|
-
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
20
|
-
## GNU General Public License for more details.
|
21
|
-
##
|
22
|
-
## You can find the GNU General Public License at:
|
23
|
-
## http://www.gnu.org/licenses/
|
24
|
-
|
25
|
-
class String
|
26
|
-
def obfuscate; gsub(/@/, " at the ").gsub(/\.(\w+)(>|$)/, ' dot \1s\2') end
|
27
|
-
end
|
28
|
-
|
29
|
-
lines = {}
|
30
|
-
verbose = ARGV.delete("-v")
|
31
|
-
obfuscate = ARGV.delete("-o")
|
32
|
-
|
33
|
-
author = nil
|
34
|
-
state = :pre_author
|
35
|
-
`git log -p --no-color`.lines.each do |l|
|
36
|
-
case
|
37
|
-
when (state == :pre_author || state == :post_author) && l =~ /Author: (.*)$/
|
38
|
-
author = $1
|
39
|
-
state = :post_author
|
40
|
-
lines[author] ||= 0
|
41
|
-
when state == :post_author && l =~ /^\+\+\+/
|
42
|
-
state = :in_diff
|
43
|
-
when state == :in_diff && l =~ /^[\+\-]/
|
44
|
-
lines[author] += 1
|
45
|
-
when state == :in_diff && l =~ /^commit /
|
46
|
-
state = :pre_author
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
lines.sort_by { |a, c| -c }.each do |a, c|
|
51
|
-
a = a.obfuscate if obfuscate
|
52
|
-
if verbose
|
53
|
-
puts "#{a}: #{c} lines of diff"
|
54
|
-
else
|
55
|
-
puts a
|
56
|
-
end
|
57
|
-
end
|
data/fakefs.gemspec
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'fakefs/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = "fakefs"
|
8
|
-
spec.version = FakeFS::Version.to_s
|
9
|
-
spec.authors = ["Chris Wanstrath", "Scott Taylor", "Jeff Hodges", "Pat Nakajima", "Brian Donovan"]
|
10
|
-
spec.email = ["chris@ozmm.org"]
|
11
|
-
spec.description = %q{A fake filesystem. Use it in your tests.}
|
12
|
-
spec.summary = %q{A fake filesystem. Use it in your tests.}
|
13
|
-
spec.homepage = "http://github.com/defunkt/fakefs"
|
14
|
-
spec.license = "MIT"
|
15
|
-
|
16
|
-
spec.files = `git ls-files`.split($/)
|
17
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = ["lib"]
|
20
|
-
|
21
|
-
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
-
spec.add_development_dependency "rake", "~> 10.3"
|
23
|
-
spec.add_development_dependency "rspec", "~> 3.1"
|
24
|
-
spec.add_development_dependency 'rubocop', '~> 0.35.0'
|
25
|
-
spec.add_development_dependency 'minitest', '~> 5.5'
|
26
|
-
spec.add_development_dependency 'minitest-rg', '~> 5.1'
|
27
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'find'
|
2
|
-
require 'fakefs/spec_helpers'
|
3
|
-
|
4
|
-
RSpec.configure do |c|
|
5
|
-
c.mock_with(:rspec)
|
6
|
-
c.include(FakeFS::SpecHelpers, fakefs: true)
|
7
|
-
c.disable_monkey_patching!
|
8
|
-
end
|
9
|
-
|
10
|
-
if RUBY_VERSION >= '2.1'
|
11
|
-
RSpec.describe 'Find.find', fakefs: true do
|
12
|
-
it 'does not give an ArgumentError' do
|
13
|
-
FileUtils.mkdir_p('/tmp/foo')
|
14
|
-
found = Find.find('/tmp').to_a
|
15
|
-
expect(found).to eq(%w(/tmp /tmp/foo))
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,102 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
# FakeFs module for tests
|
4
|
-
module FakeFS
|
5
|
-
RSpec.describe SpecHelpers do
|
6
|
-
before do
|
7
|
-
@rspec_example_group = Class.new do
|
8
|
-
def self.before(_sym = :each)
|
9
|
-
yield if block_given?
|
10
|
-
end
|
11
|
-
|
12
|
-
def self.after(_sym = :each)
|
13
|
-
yield if block_given?
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
describe 'when extending' do
|
19
|
-
context 'before each' do
|
20
|
-
it 'should call it' do
|
21
|
-
expect(@rspec_example_group).to receive(:before).with(:each)
|
22
|
-
@rspec_example_group.extend FakeFS::SpecHelpers
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'should call FakeFS.activate!' do
|
26
|
-
expect(FakeFS).to receive(:activate!)
|
27
|
-
@rspec_example_group.extend FakeFS::SpecHelpers
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
context 'after each' do
|
32
|
-
it 'should call it' do
|
33
|
-
expect(@rspec_example_group).to receive(:after).with(:each)
|
34
|
-
@rspec_example_group.extend FakeFS::SpecHelpers
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'should deactivate fakefs' do
|
38
|
-
expect(FakeFS).to receive(:deactivate!)
|
39
|
-
@rspec_example_group.extend FakeFS::SpecHelpers
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'should clear the fakefs filesystem for the next run' do
|
43
|
-
expect(FakeFS::FileSystem).to receive(:clear)
|
44
|
-
@rspec_example_group.extend FakeFS::SpecHelpers
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
describe 'when including' do
|
50
|
-
it 'should call before :each' do
|
51
|
-
expect(@rspec_example_group).to receive(:before)
|
52
|
-
@rspec_example_group.class_eval do
|
53
|
-
include FakeFS::SpecHelpers
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
describe SpecHelpers::All do
|
59
|
-
describe 'when extending' do
|
60
|
-
context 'before :all' do
|
61
|
-
it 'should call it' do
|
62
|
-
expect(@rspec_example_group).to receive(:before).with(:all)
|
63
|
-
@rspec_example_group.extend FakeFS::SpecHelpers::All
|
64
|
-
end
|
65
|
-
|
66
|
-
it 'should call FakeFS.activate!' do
|
67
|
-
expect(FakeFS).to receive(:activate!)
|
68
|
-
@rspec_example_group.extend FakeFS::SpecHelpers::All
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
context 'after :all' do
|
73
|
-
it 'should call it' do
|
74
|
-
expect(@rspec_example_group).to receive(:after).with(:all)
|
75
|
-
@rspec_example_group.extend FakeFS::SpecHelpers::All
|
76
|
-
end
|
77
|
-
|
78
|
-
it 'should call FakeFS.deactivate!' do
|
79
|
-
expect(FakeFS).to receive(:deactivate!)
|
80
|
-
@rspec_example_group.extend FakeFS::SpecHelpers::All
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'should not call FakeFS::FileSystem.clear' do
|
84
|
-
expect(FakeFS::FileSystem).to_not receive(:clear)
|
85
|
-
@rspec_example_group.extend FakeFS::SpecHelpers::All
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
describe 'when including' do
|
91
|
-
context 'before :all' do
|
92
|
-
it 'should call it' do
|
93
|
-
expect(@rspec_example_group).to receive(:before)
|
94
|
-
@rspec_example_group.class_eval do
|
95
|
-
include FakeFS::SpecHelpers::All
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
data/spec/spec.opts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--color
|
data/spec/spec_helper.rb
DELETED
data/test/dir/tempfile_test.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
require 'tempfile'
|
3
|
-
|
4
|
-
# Tempfile test class
|
5
|
-
class TempfileTest < Minitest::Test
|
6
|
-
include FakeFS
|
7
|
-
|
8
|
-
if RUBY_VERSION >= '2.1'
|
9
|
-
def test_should_not_raise_error
|
10
|
-
FakeFS do
|
11
|
-
# nothing raised
|
12
|
-
FileUtils.mkdir_p('/tmp')
|
13
|
-
Tempfile.open('test')
|
14
|
-
end
|
15
|
-
end
|
16
|
-
else
|
17
|
-
def test_noop
|
18
|
-
# TODO: Remove me when we add non-2.1 tests.
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
data/test/fake/file/join_test.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
# File join test class
|
4
|
-
class FileJoin < Minitest::Test
|
5
|
-
def setup
|
6
|
-
FakeFS.activate!
|
7
|
-
end
|
8
|
-
|
9
|
-
def teardown
|
10
|
-
FakeFS.deactivate!
|
11
|
-
end
|
12
|
-
|
13
|
-
[
|
14
|
-
%w(a b), %w(a/ b), %w(a /b), %w(a/ /b), %w(a / b)
|
15
|
-
].each_with_index do |args, i|
|
16
|
-
define_method "test_file_join_#{i}" do
|
17
|
-
assert_equal RealFile.join(args), File.join(args)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
# File stat test class
|
4
|
-
class FileStat < Minitest::Test
|
5
|
-
def setup
|
6
|
-
FakeFS.activate!
|
7
|
-
FakeFS::FileSystem.clear
|
8
|
-
end
|
9
|
-
|
10
|
-
def teardown
|
11
|
-
FakeFS.deactivate!
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_calling_lstat_should_create_a_new_file_stat_object
|
15
|
-
File.open('foo', 'w') do |f|
|
16
|
-
f << 'bar'
|
17
|
-
end
|
18
|
-
|
19
|
-
File.open('foo') do |f|
|
20
|
-
assert_equal File::Stat, f.lstat.class
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_lstat_should_use_correct_file
|
25
|
-
File.open('bar', 'w') do |f|
|
26
|
-
f << '1'
|
27
|
-
end
|
28
|
-
|
29
|
-
File.open('bar') do |f|
|
30
|
-
assert_equal 1, f.lstat.size
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_lstat_should_report_on_symlink_itself
|
35
|
-
File.open('foo', 'w') { |f| f << 'some content' }
|
36
|
-
File.symlink 'foo', 'my_symlink'
|
37
|
-
|
38
|
-
refute_equal File.lstat('my_symlink').size, File.lstat('foo').size
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_should_report_on_symlink_itself_with_size_instance_method
|
42
|
-
File.open('foo', 'w') { |f| f << 'some content' }
|
43
|
-
File.symlink 'foo', 'my_symlink'
|
44
|
-
|
45
|
-
file = File.open('foo')
|
46
|
-
symlink = File.open('my_symlink')
|
47
|
-
|
48
|
-
refute_equal file.lstat.size, symlink.lstat.size
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_symlink_size_is_size_of_path_pointed_to
|
52
|
-
File.open('a', 'w') { |x| x << 'foobarbazfoobarbaz' }
|
53
|
-
File.symlink 'a', 'one_char_symlink'
|
54
|
-
assert_equal 1, File.lstat('one_char_symlink').size
|
55
|
-
|
56
|
-
File.open('ab', 'w') { |x| x << 'foobarbazfoobarbaz' }
|
57
|
-
File.symlink 'ab', 'two_char_symlink'
|
58
|
-
assert_equal 2, File.lstat('two_char_symlink').size
|
59
|
-
end
|
60
|
-
end
|
data/test/fake/file/stat_test.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
# File stat test class
|
4
|
-
class FileStat < Minitest::Test
|
5
|
-
def setup
|
6
|
-
FakeFS.activate!
|
7
|
-
FakeFS::FileSystem.clear
|
8
|
-
end
|
9
|
-
|
10
|
-
def teardown
|
11
|
-
FakeFS.deactivate!
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_calling_stat_should_create_a_new_file_stat_object
|
15
|
-
File.open('foo', 'w') do |f|
|
16
|
-
f << 'bar'
|
17
|
-
end
|
18
|
-
|
19
|
-
File.open('foo') do |f|
|
20
|
-
assert_equal File::Stat, f.stat.class
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_stat_should_use_correct_file
|
25
|
-
File.open('bar', 'w') do |f|
|
26
|
-
f << '1'
|
27
|
-
end
|
28
|
-
|
29
|
-
File.open('bar') do |f|
|
30
|
-
assert_equal 1, f.stat.size
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_stat_should_report_on_symlink_pointer
|
35
|
-
File.open('foo', 'w') { |f| f << 'some content' }
|
36
|
-
File.symlink 'foo', 'my_symlink'
|
37
|
-
|
38
|
-
assert_equal File.stat('my_symlink').size, File.stat('foo').size
|
39
|
-
end
|
40
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
# File SysSeek test class
|
4
|
-
class FileSysSeek < Minitest::Test
|
5
|
-
def setup
|
6
|
-
FakeFS.activate!
|
7
|
-
FakeFS::FileSystem.clear
|
8
|
-
end
|
9
|
-
|
10
|
-
def teardown
|
11
|
-
FakeFS.deactivate!
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_should_seek_to_position
|
15
|
-
File.open('foo', 'w') do |f|
|
16
|
-
f << '0123456789'
|
17
|
-
end
|
18
|
-
|
19
|
-
File.open('foo', 'r') do |f|
|
20
|
-
f.sysseek(3)
|
21
|
-
assert_equal 3, f.pos
|
22
|
-
|
23
|
-
f.sysseek(0)
|
24
|
-
assert_equal 0, f.pos
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_seek_returns_offset_into_file
|
29
|
-
File.open('foo', 'w') do |f|
|
30
|
-
# 66 chars long
|
31
|
-
str = '0123456789' \
|
32
|
-
'0123456789' \
|
33
|
-
'0123456789' \
|
34
|
-
'0123456789' \
|
35
|
-
'0123456789' \
|
36
|
-
'0123456789' \
|
37
|
-
'012345'
|
38
|
-
|
39
|
-
f << str
|
40
|
-
end
|
41
|
-
|
42
|
-
f = File.open('foo')
|
43
|
-
assert_equal 53, f.sysseek(-13, IO::SEEK_END)
|
44
|
-
end
|
45
|
-
end
|