Skip to content

Commit

Permalink
Add FileTest#exist? Swap out FileTest for FakeFS::FileTest. Closes #14
Browse files Browse the repository at this point in the history
  • Loading branch information
smtlaissezfaire committed Nov 24, 2009
1 parent bdb3fa4 commit 50193f2
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 0 deletions.
5 changes: 5 additions & 0 deletions lib/fakefs/base.rb
@@ -1,4 +1,5 @@
RealFile = File
RealFileTest = FileTest
RealFileUtils = FileUtils
RealDir = Dir
RealFileUtils::Dir = RealDir
Expand All @@ -9,20 +10,24 @@ def self.activate!
Object.class_eval do
remove_const(:Dir)
remove_const(:File)
remove_const(:FileTest)
remove_const(:FileUtils)
const_set(:Dir, FakeFS::Dir)
const_set(:File, FakeFS::File)
const_set(:FileUtils, FakeFS::FileUtils)
const_set(:FileTest, FakeFS::FileTest)
end
end

def self.deactivate!
Object.class_eval do
remove_const(:Dir)
remove_const(:File)
remove_const(:FileTest)
remove_const(:FileUtils)
const_set(:Dir, RealDir)
const_set(:File, RealFile)
const_set(:FileTest, RealFileTest)
const_set(:FileUtils, RealFileUtils)
end
end
Expand Down
7 changes: 7 additions & 0 deletions lib/fakefs/file_test.rb
@@ -0,0 +1,7 @@
module FakeFS
class FileTest
def self.exist?(file_name)
File.exist?(file_name)
end
end
end
1 change: 1 addition & 0 deletions lib/fakefs/safe.rb
Expand Up @@ -7,5 +7,6 @@
require 'fakefs/file_system'
require 'fakefs/fileutils'
require 'fakefs/file'
require 'fakefs/file_test'
require 'fakefs/dir'

15 changes: 15 additions & 0 deletions test/fakefs_test.rb
Expand Up @@ -1336,6 +1336,21 @@ def test_should_have_constants_inherited_from_descending_from_io
assert_equal IO::SEEK_SET, File::SEEK_SET
end

def test_filetest_exists_return_correct_values
FileUtils.mkdir_p("/path/to/dir")
assert FileTest.exist?("/path/to/")

FileUtils.rmdir("/path/to/dir")
assert !FileTest.exist?("/path/to/dir")
end

def pathname_exists_returns_correct_value
FileUtils.touch "foo"
assert Pathname.new("foo").exist?

assert !Pathname.new("bar").exist?
end

def here(fname)
RealFile.expand_path(RealFile.dirname(__FILE__)+'/'+fname)
end
Expand Down

0 comments on commit 50193f2

Please sign in to comment.