55 lines
1.0 KiB
Ruby
55 lines
1.0 KiB
Ruby
|
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
|
||
|
require 'fakefs/safe'
|
||
|
require 'test/unit'
|
||
|
|
||
|
class FileStatTest < Test::Unit::TestCase
|
||
|
include FakeFS
|
||
|
|
||
|
def setup
|
||
|
FileSystem.clear
|
||
|
end
|
||
|
|
||
|
def touch(*args)
|
||
|
FileUtils.touch(*args)
|
||
|
end
|
||
|
|
||
|
def ln_s(*args)
|
||
|
FileUtils.ln_s(*args)
|
||
|
end
|
||
|
|
||
|
def mkdir(*args)
|
||
|
Dir.mkdir(*args)
|
||
|
end
|
||
|
|
||
|
def test_file_stat_init_with_non_existant_file
|
||
|
assert_raises(Errno::ENOENT) do
|
||
|
File::Stat.new("/foo")
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def test_symlink_should_be_true_when_symlink
|
||
|
touch("/foo")
|
||
|
ln_s("/foo", "/bar")
|
||
|
|
||
|
assert File::Stat.new("/bar").symlink?
|
||
|
end
|
||
|
|
||
|
def test_symlink_should_be_false_when_not_a_symlink
|
||
|
FileUtils.touch("/foo")
|
||
|
|
||
|
assert !File::Stat.new("/foo").symlink?
|
||
|
end
|
||
|
|
||
|
def test_should_return_false_for_directory_when_not_a_directory
|
||
|
FileUtils.touch("/foo")
|
||
|
|
||
|
assert !File::Stat.new("/foo").directory?
|
||
|
end
|
||
|
|
||
|
def test_should_return_true_for_directory_when_a_directory
|
||
|
mkdir "/foo"
|
||
|
|
||
|
assert File::Stat.new("/foo").directory?
|
||
|
end
|
||
|
end
|