1require_relative '../../spec_helper' 2require_relative 'fixtures/__method__' 3 4describe "Kernel.__method__" do 5 it "returns the current method, even when aliased" do 6 KernelSpecs::MethodTest.new.f.should == :f 7 end 8 9 it "returns the original name when aliased method" do 10 KernelSpecs::MethodTest.new.g.should == :f 11 end 12 13 it "returns the caller from blocks too" do 14 KernelSpecs::MethodTest.new.in_block.should == [:in_block, :in_block] 15 end 16 17 it "returns the caller from define_method too" do 18 KernelSpecs::MethodTest.new.dm.should == :dm 19 end 20 21 it "returns the caller from block inside define_method too" do 22 KernelSpecs::MethodTest.new.dm_block.should == [:dm_block, :dm_block] 23 end 24 25 it "returns method name even from send" do 26 KernelSpecs::MethodTest.new.from_send.should == :from_send 27 end 28 29 it "returns method name even from eval" do 30 KernelSpecs::MethodTest.new.from_eval.should == :from_eval 31 end 32 33 it "returns nil from inside a class body" do 34 KernelSpecs::MethodTest.new.from_class_body.should == nil 35 end 36 37 it "returns nil when not called from a method" do 38 __method__.should == nil 39 end 40end 41