2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../spec_helper'
|
|
|
|
require_relative 'fixtures/classes'
|
|
|
|
require_relative '../../shared/basicobject/send'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
|
|
|
describe "Kernel#send" do
|
|
|
|
it "invokes the named public method" do
|
|
|
|
class KernelSpecs::Foo
|
|
|
|
def bar
|
|
|
|
'done'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
KernelSpecs::Foo.new.send(:bar).should == 'done'
|
|
|
|
end
|
|
|
|
|
|
|
|
it "invokes the named alias of a public method" do
|
|
|
|
class KernelSpecs::Foo
|
|
|
|
def bar
|
|
|
|
'done'
|
|
|
|
end
|
|
|
|
alias :aka :bar
|
|
|
|
end
|
|
|
|
KernelSpecs::Foo.new.send(:aka).should == 'done'
|
|
|
|
end
|
|
|
|
|
|
|
|
it "invokes the named protected method" do
|
|
|
|
class KernelSpecs::Foo
|
|
|
|
protected
|
|
|
|
def bar
|
|
|
|
'done'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
KernelSpecs::Foo.new.send(:bar).should == 'done'
|
|
|
|
end
|
|
|
|
|
|
|
|
it "invokes the named private method" do
|
|
|
|
class KernelSpecs::Foo
|
|
|
|
private
|
|
|
|
def bar
|
|
|
|
'done2'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
KernelSpecs::Foo.new.send(:bar).should == 'done2'
|
|
|
|
end
|
|
|
|
|
|
|
|
it "invokes the named alias of a private method" do
|
|
|
|
class KernelSpecs::Foo
|
|
|
|
private
|
|
|
|
def bar
|
|
|
|
'done2'
|
|
|
|
end
|
|
|
|
alias :aka :bar
|
|
|
|
end
|
|
|
|
KernelSpecs::Foo.new.send(:aka).should == 'done2'
|
|
|
|
end
|
|
|
|
|
|
|
|
it "invokes the named alias of a protected method" do
|
|
|
|
class KernelSpecs::Foo
|
|
|
|
protected
|
|
|
|
def bar
|
|
|
|
'done2'
|
|
|
|
end
|
|
|
|
alias :aka :bar
|
|
|
|
end
|
|
|
|
KernelSpecs::Foo.new.send(:aka).should == 'done2'
|
|
|
|
end
|
|
|
|
|
2018-01-29 11:08:16 -05:00
|
|
|
it_behaves_like :basicobject_send, :send
|
2017-05-07 08:04:49 -04:00
|
|
|
end
|