diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-01 02:09:42 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-01 02:09:42 +0000 |
commit | 874f8c0494b186406dba339a81b6dcce7fb7c429 (patch) | |
tree | 34712e954cddee0a909df4c5cb76d4f77e3615e1 /test/fileutils/visibility_tests.rb | |
parent | 6213b8370c54bed04b6f9901cd89e9a6fa08557a (diff) |
* lib/fileutils.rb: Revert r34669 which altered the way
metaprogramming in FileUtils occurred. [ruby-trunk - Bug #7958]
* test/fileutils/visibility_tests.rb: Refactored tests of FileUtils
options modules to expose bug found in #7958
* test/fileutils/test_dryrun.rb: ditto.
* test/fileutils/test_nowrite.rb: ditto.
* test/fileutils/test_verbose.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/fileutils/visibility_tests.rb')
-rw-r--r-- | test/fileutils/visibility_tests.rb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/fileutils/visibility_tests.rb b/test/fileutils/visibility_tests.rb new file mode 100644 index 0000000000..a140614674 --- /dev/null +++ b/test/fileutils/visibility_tests.rb @@ -0,0 +1,41 @@ +require 'test/unit' +require 'fileutils' + +class TestFileUtils < Test::Unit::TestCase +end + +## +# These tests are reused in the FileUtils::Verbose, FileUtils::NoWrite and +# FileUtils::DryRun tests + +module TestFileUtils::Visibility + + FileUtils::METHODS.each do |m| + define_method "test_singleton_visibility_#{m}" do + assert @fu_module.respond_to?(m, true), + "FileUtils::Verbose.#{m} is not defined" + assert @fu_module.respond_to?(m, false), + "FileUtils::Verbose.#{m} is not public" + end + + define_method "test_visibility_#{m}" do + assert respond_to?(m, true), + "FileUtils::Verbose\##{m} is not defined" + assert @fu_module.private_method_defined?(m), + "FileUtils::Verbose\##{m} is not private" + end + end + + FileUtils::StreamUtils_.private_instance_methods.each do |m| + define_method "test_singleton_visibility_#{m}" do + assert @fu_module.respond_to?(m, true), + "FileUtils::Verbose\##{m} is not defined" + end + + define_method "test_visibility_#{m}" do + assert respond_to?(m, true), + "FileUtils::Verbose\##{m} is not defined" + end + end + +end |