From 754adbee91c2d4a4e84e9271724ca33f630d1916 Mon Sep 17 00:00:00 2001 From: Shugo Maeda Date: Fri, 20 Aug 2021 10:42:01 +0900 Subject: Module#ancestors should not return superclasses of refinements [ruby-core:86949] [Bug #14744] Reported by Eregon (Benoit Daloze). Thanks! --- test/ruby/test_refinement.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_refinement.rb b/test/ruby/test_refinement.rb index 14c112f344..822de47f6a 100644 --- a/test/ruby/test_refinement.rb +++ b/test/ruby/test_refinement.rb @@ -2559,6 +2559,18 @@ class TestRefinement < Test::Unit::TestCase assert_equal(:refined, Bug17822::Client.call_foo) end + def test_ancestors + refinement = nil + as = nil + Module.new do + refine Array do + refinement = self + as = ancestors + end + end + assert_equal([refinement], as, "[ruby-core:86949] [Bug #14744]") + end + private def eval_using(mod, s) -- cgit v1.2.3