1require 'test/unit'
2require 'fileutils'
3
4class TestFileUtils < Test::Unit::TestCase
5end
6
7##
8# These tests are reused in the FileUtils::Verbose, FileUtils::NoWrite and
9# FileUtils::DryRun tests
10
11module TestFileUtils::Visibility
12
13  FileUtils::METHODS.each do |m|
14    define_method "test_singleton_visibility_#{m}" do
15      assert @fu_module.respond_to?(m, true),
16             "FileUtils::Verbose.#{m} is not defined"
17      assert @fu_module.respond_to?(m, false),
18             "FileUtils::Verbose.#{m} is not public"
19    end
20
21    define_method "test_visibility_#{m}" do
22      assert respond_to?(m, true),
23             "FileUtils::Verbose\##{m} is not defined"
24      assert @fu_module.private_method_defined?(m),
25             "FileUtils::Verbose\##{m} is not private"
26    end
27  end
28
29  FileUtils::StreamUtils_.private_instance_methods.each do |m|
30    define_method "test_singleton_visibility_#{m}" do
31      assert @fu_module.respond_to?(m, true),
32             "FileUtils::Verbose\##{m} is not defined"
33    end
34
35    define_method "test_visibility_#{m}" do
36      assert respond_to?(m, true),
37             "FileUtils::Verbose\##{m} is not defined"
38    end
39  end
40
41end
42