From 9b5c2baae046fc943cd31279e325d59f13f54b3b Mon Sep 17 00:00:00 2001 From: nagachika Date: Wed, 16 Nov 2016 14:41:20 +0000 Subject: merge revision(s) 56694,56698: [Backport #12920] vm_eval.c: fix refined method when prepended * vm_eval.c (vm_call0_body): refined module should not be skipped as prepended. [ruby-core:78073] [Bug #12920] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3@56816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_refinement.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test') diff --git a/test/ruby/test_refinement.rb b/test/ruby/test_refinement.rb index f674783a01..dd1c9bcd89 100644 --- a/test/ruby/test_refinement.rb +++ b/test/ruby/test_refinement.rb @@ -1623,6 +1623,20 @@ class TestRefinement < Test::Unit::TestCase end end + def test_refine_with_prepend + assert_separately([], "#{<<-"begin;"}\n#{<<-"end;"}") + begin; + bug = '[ruby-core:78073] [Bug #12920]' + Fixnum.prepend(Module.new) + Module.new do + refine Fixnum do + define_method(:+) {} + end + end + assert_kind_of(Time, Time.now, bug) + end; + end + private def eval_using(mod, s) -- cgit v1.2.3