1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/fileutils/test_nowrite.rb
nahi 04b5228aba * test/*: remove $: trick. [ruby-dev:22763] use test/runner.rb to
run test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-29 13:22:27 +00:00

87 lines
1.4 KiB
Ruby

#
# test/fileutils/test_nowrite.rb
#
require 'fileutils'
require 'fileasserts'
require 'tmpdir'
require 'test/unit'
class TestNoWrite < Test::Unit::TestCase
include FileUtils::NoWrite
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