Bug #6891 ยป test.patch
| test/ruby/test_module.rb | ||
|---|---|---|
|
assert_equal([:@@bar, :@@foo], m2.class_variables(true))
|
||
|
assert_equal([:@@bar], m2.class_variables(false))
|
||
|
end
|
||
|
def test_extend_module_with_protected_method
|
||
|
list = []
|
||
|
x = Class.new {
|
||
|
extend Module.new {
|
||
|
protected
|
||
|
define_method(:inherited) do |klass|
|
||
|
list << "protected"
|
||
|
super(klass)
|
||
|
end
|
||
|
}
|
||
|
extend Module.new {
|
||
|
define_method(:inherited) do |klass|
|
||
|
list << "public"
|
||
|
super(klass)
|
||
|
end
|
||
|
}
|
||
|
}
|
||
|
Class.new(x)
|
||
|
assert_equal ['public', 'protected'], list
|
||
|
end
|
||
|
end
|
||