require_relative '../../../spec_helper' require_relative '../fixtures/classes' 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