diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:02:05 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:02:05 +0000 |
commit | 0dc342de848a642ecce8db697b8fecd83a63e117 (patch) | |
tree | 2b7ed4724aff1f86073e4740134bda9c4aac1a39 /trunk/test/fileutils/test_nowrite.rb | |
parent | ef70cf7138ab8034b5b806f466e4b484b24f0f88 (diff) |
added tag v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/test/fileutils/test_nowrite.rb')
-rw-r--r-- | trunk/test/fileutils/test_nowrite.rb | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/trunk/test/fileutils/test_nowrite.rb b/trunk/test/fileutils/test_nowrite.rb new file mode 100644 index 0000000000..369f8ca608 --- /dev/null +++ b/trunk/test/fileutils/test_nowrite.rb @@ -0,0 +1,99 @@ +# $Id$ + +require 'fileutils' +require 'fileasserts' +require 'tmpdir' +require 'test/unit' + +class TestFileUtilsNoWrite < Test::Unit::TestCase + + include FileUtils::NoWrite + + def test_visibility + FileUtils::METHODS.each do |m| + assert_equal true, FileUtils::NoWrite.respond_to?(m, true), + "FileUtils::NoWrite.#{m} is not defined" + assert_equal true, FileUtils::NoWrite.respond_to?(m, false), + "FileUtils::NoWrite.#{m} is not public" + end + FileUtils::METHODS.each do |m| + assert_equal true, respond_to?(m, true), + "FileUtils::NoWrite\##{m} is not defined" + assert_equal true, FileUtils::NoWrite.private_method_defined?(m), + "FileUtils::NoWrite\##{m} is not private" + end + end + + def my_rm_rf(path) + if File.exist?('/bin/rm') + system %Q[/bin/rm -rf "#{path}"] + else + FileUtils.rm_rf path + end + end + + SRC = 'data/src' + COPY = 'data/copy' + + def setup + @prevdir = Dir.pwd + tmproot = "#{Dir.tmpdir}/fileutils.rb.#{$$}" + Dir.mkdir tmproot unless File.directory?(tmproot) + Dir.chdir tmproot + my_rm_rf 'data'; Dir.mkdir 'data' + my_rm_rf 'tmp'; Dir.mkdir 'tmp' + File.open(SRC, 'w') {|f| f.puts 'dummy' } + File.open(COPY, 'w') {|f| f.puts 'dummy' } + end + + def teardown + tmproot = Dir.pwd + Dir.chdir @prevdir + my_rm_rf tmproot + end + + def test_cp + cp SRC, 'tmp/cp' + check 'tmp/cp' + end + + def test_mv + mv SRC, 'tmp/mv' + check 'tmp/mv' + end + + def check(dest) + assert_file_not_exist dest + assert_file_exist SRC + assert_same_file SRC, COPY + end + + def test_rm + rm SRC + assert_file_exist SRC + assert_same_file SRC, COPY + end + + def test_rm_f + rm_f SRC + assert_file_exist SRC + assert_same_file SRC, COPY + end + + def test_rm_rf + rm_rf SRC + assert_file_exist SRC + assert_same_file SRC, COPY + end + + def test_mkdir + mkdir 'dir' + assert_file_not_exist 'dir' + end + + def test_mkdir_p + mkdir 'dir/dir/dir' + assert_file_not_exist 'dir' + end + +end |