summaryrefslogtreecommitdiff
path: root/test/ruby/test_module.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_module.rb')
-rw-r--r--test/ruby/test_module.rb28
1 files changed, 14 insertions, 14 deletions
diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb
index 185c445091..340c37762a 100644
--- a/test/ruby/test_module.rb
+++ b/test/ruby/test_module.rb
@@ -1597,22 +1597,22 @@ class TestModule < Test::Unit::TestCase
assert_raise(NameError){ m.instance_eval { remove_const(:__FOO__) } }
end
- def test_top_include_is_private
- main = eval("self", TOPLEVEL_BINDING)
- methods = main.singleton_class.private_instance_methods(false)
- assert(methods.include?(:include))
+ def test_private_top_methods
+ assert_top_method_is_private(:include)
+ assert_top_method_is_private(:public)
+ assert_top_method_is_private(:private)
+ assert_top_method_is_private(:define_method)
+ end
- assert_in_out_err([], <<-INPUT, ["true"], [])
- module M
- end
- include M
- p singleton_class < M
- INPUT
+ private
- assert_in_out_err([], <<-INPUT, [], /private method `include' called for main:Object \(NoMethodError\)/)
- module M
- end
- self.include M
+ def assert_top_method_is_private(method)
+ top = eval("self", TOPLEVEL_BINDING)
+ methods = top.singleton_class.private_instance_methods(false)
+ assert(methods.include?(method), "#{method} should be private")
+
+ assert_in_out_err([], <<-INPUT, [], /private method `#{method}' called for main:Object \(NoMethodError\)/)
+ self.#{method}
INPUT
end
end