summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-23 23:39:01 +0000
committeraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-23 23:39:01 +0000
commit6e77ae4c1341f38aea103d7072c31ecd61c432ba (patch)
treeb1785e22634b64238a9f35cddfa9db25b0042516
parentcd244d63ca424c8e0d092746be9cff33e3d53862 (diff)
* lib/fileutils.rb: fix visibility of FileUtils::NoWrite, Verbose, DryRun (backported from trunk, rev 1.66). [ruby-core:05954]
* test/fileutils/test_nowrite.rb: test it. * test/fileutils/test_dryrun.rb: new file. * test/fileutils/test_verbose.rb: new file. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog11
-rw-r--r--lib/fileutils.rb20
-rw-r--r--test/fileutils/test_nowrite.rb17
3 files changed, 47 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c8adaef1da..20c2b7605c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Sat Sep 24 08:38:07 2005 Minero Aoki <aamine@loveruby.net>
+
+ * lib/fileutils.rb: fix visibility of FileUtils::NoWrite, Verbose,
+ DryRun (backported from trunk, rev 1.66). [ruby-core:05954]
+
+ * test/fileutils/test_nowrite.rb: test it.
+
+ * test/fileutils/test_dryrun.rb: new file.
+
+ * test/fileutils/test_verbose.rb: new file.
+
Thu Sep 22 23:36:24 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (find_executable0): default path if environment is not
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index 8bfaf8bd10..320c49ce93 100644
--- a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -1443,6 +1443,8 @@ module FileUtils
end
private_module_function :fu_output_message
+ METHODS = singleton_methods() - ['private_module_function']
+
#
# Returns an Array of method names which have any options.
#
@@ -1505,9 +1507,15 @@ module FileUtils
def #{name}(*args)
super(*fu_update_option(args, :verbose => true))
end
+ private :#{name}
EOS
end
extend self
+ class << self
+ ::FileUtils::METHODS.each do |m|
+ public m
+ end
+ end
end
#
@@ -1524,9 +1532,15 @@ module FileUtils
def #{name}(*args)
super(*fu_update_option(args, :noop => true))
end
+ private :#{name}
EOS
end
extend self
+ class << self
+ ::FileUtils::METHODS.each do |m|
+ public m
+ end
+ end
end
#
@@ -1544,9 +1558,15 @@ module FileUtils
def #{name}(*args)
super(*fu_update_option(args, :noop => true, :verbose => true))
end
+ private :#{name}
EOS
end
extend self
+ class << self
+ ::FileUtils::METHODS.each do |m|
+ public m
+ end
+ end
end
end
diff --git a/test/fileutils/test_nowrite.rb b/test/fileutils/test_nowrite.rb
index 2189f5f8da..369f8ca608 100644
--- a/test/fileutils/test_nowrite.rb
+++ b/test/fileutils/test_nowrite.rb
@@ -5,10 +5,25 @@ require 'fileasserts'
require 'tmpdir'
require 'test/unit'
-class TestNoWrite < Test::Unit::TestCase
+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}"]