summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYusuke Endoh <mame@ruby-lang.org>2020-12-19 18:22:44 +0900
committerYusuke Endoh <mame@ruby-lang.org>2020-12-19 18:22:44 +0900
commit1ba8d63b49318e5682a22502c5f5b70e3298da8f (patch)
treed1fb4f53d042506d9ee3b419c35f915a09468602
parenteb8ea336d33af7e1dec4c17964c671c33cf75ce1 (diff)
Recommit 34f06062174882a98ebef998c50ad8d4f7fc0f2e
-rw-r--r--test/ruby/test_module.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb
index cb8631bf08..443ccc3aca 100644
--- a/test/ruby/test_module.rb
+++ b/test/ruby/test_module.rb
@@ -840,6 +840,11 @@ class TestModule < Test::Unit::TestCase
assert_equal(:aClass1, o.aClass1)
assert_equal(:aClass2, o.aClass2)
+ o = (c = Class.new(AClass)).new
+ c.class_eval {public [:aClass1, :aClass2]}
+ assert_equal(:aClass1, o.aClass1)
+ assert_equal(:aClass2, o.aClass2)
+
o = AClass.new
assert_equal(:aClass, o.aClass)
assert_raise(NoMethodError, /private method/) {o.aClass1}
@@ -857,6 +862,11 @@ class TestModule < Test::Unit::TestCase
assert_raise(NoMethodError, /private method/) {o.aClass}
assert_raise(NoMethodError, /private method/) {o.aClass2}
+ o = (c = Class.new(AClass)).new
+ c.class_eval {private [:aClass, :aClass2]}
+ assert_raise(NoMethodError, /private method/) {o.aClass}
+ assert_raise(NoMethodError, /private method/) {o.aClass2}
+
o = AClass.new
assert_equal(:aClass, o.aClass)
assert_raise(NoMethodError, /private method/) {o.aClass1}
@@ -883,6 +893,13 @@ class TestModule < Test::Unit::TestCase
assert_equal(:aClass, c.new._aClass(o))
assert_equal(:aClass1, c.new._aClass1(o))
+ o = (c = Class.new(aclass)).new
+ c.class_eval {protected [:aClass, :aClass1]}
+ assert_raise(NoMethodError, /protected method/) {o.aClass}
+ assert_raise(NoMethodError, /protected method/) {o.aClass1}
+ assert_equal(:aClass, c.new._aClass(o))
+ assert_equal(:aClass1, c.new._aClass1(o))
+
o = AClass.new
assert_equal(:aClass, o.aClass)
assert_raise(NoMethodError, /private method/) {o.aClass1}