2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../../spec_helper'
|
|
|
|
require_relative '../fixtures/classes'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
|
|
|
describe "Delegator#methods" do
|
|
|
|
before :all do
|
|
|
|
@simple = DelegateSpecs::Simple.new
|
|
|
|
class << @simple
|
|
|
|
def singleton_method
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
@delegate = DelegateSpecs::Delegator.new(@simple)
|
|
|
|
@methods = @delegate.methods
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns singleton methods when passed false" do
|
|
|
|
@delegate.methods(false).should include(:singleton_method)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "includes all public methods of the delegate object" do
|
|
|
|
@methods.should include :pub
|
|
|
|
end
|
|
|
|
|
|
|
|
it "includes all protected methods of the delegate object" do
|
|
|
|
@methods.should include :prot
|
|
|
|
end
|
|
|
|
|
|
|
|
it "includes instance methods of the Delegator class" do
|
|
|
|
@methods.should include :extra
|
|
|
|
@methods.should include :extra_protected
|
|
|
|
end
|
|
|
|
|
|
|
|
it "does not include private methods" do
|
|
|
|
@methods.should_not include :priv
|
|
|
|
@methods.should_not include :extra_private
|
|
|
|
end
|
|
|
|
end
|