$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