diff options
author | Yusuke Endoh <[email protected]> | 2020-12-24 00:15:29 +0900 |
---|---|---|
committer | Yusuke Endoh <[email protected]> | 2020-12-24 00:15:29 +0900 |
commit | 3a81daaf8dc037057d96b8e8cdc6ab1691e7e9d9 (patch) | |
tree | 017fceb114ca701958006203955208e838d6ecae /test/ruby/test_module.rb | |
parent | 94015200b69820575c8b11d4181d397b033b69ac (diff) |
Module#public_class_method also accepts a symbol array as an argument
I'm unsure if this is intentional, but add a document anyway.
[Feature #17314]
Diffstat (limited to 'test/ruby/test_module.rb')
-rw-r--r-- | test/ruby/test_module.rb | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb index 5017d9ce19..1ff9befad9 100644 --- a/test/ruby/test_module.rb +++ b/test/ruby/test_module.rb @@ -799,6 +799,11 @@ class TestModule < Test::Unit::TestCase assert_raise(ExpectedException) { AClass.cm1 } assert_raise(ExpectedException) { AClass.cm3 } assert_equal("cm1cm2cm3", AClass.cm2) + + c = Class.new(AClass) + c.class_eval {private_class_method [:cm1, :cm2]} + assert_raise(NoMethodError, /private method/) {c.cm1} + assert_raise(NoMethodError, /private method/) {c.cm2} end def test_private_instance_methods @@ -821,6 +826,11 @@ class TestModule < Test::Unit::TestCase assert_equal("cm1", MyClass.cm1) assert_equal("cm1cm2cm3", MyClass.cm2) assert_raise(ExpectedException) { eval "MyClass.cm3" } + + c = Class.new(AClass) + c.class_eval {public_class_method [:cm1, :cm2]} + assert_equal("cm1", c.cm1) + assert_equal("cm1cm2cm3", c.cm2) end def test_public_instance_methods @@ -1403,13 +1413,25 @@ class TestModule < Test::Unit::TestCase end def test_top_public_private - assert_in_out_err([], <<-INPUT, %w([:foo] [:bar]), []) + assert_in_out_err([], <<-INPUT, %w([:foo] [:bar] [:foo,\ :bar] [] [:foo,\ :bar] []), []) private def foo; :foo; end public def bar; :bar; end p self.private_methods.grep(/^foo$|^bar$/) p self.methods.grep(/^foo$|^bar$/) + + private :foo, :bar + p self.private_methods.grep(/^foo$|^bar$/) + + public :foo, :bar + p self.private_methods.grep(/^foo$|^bar$/) + + private [:foo, :bar] + p self.private_methods.grep(/^foo$|^bar$/) + + public [:foo, :bar] + p self.private_methods.grep(/^foo$|^bar$/) INPUT end |