aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/library/delegate/delegator/methods_spec.rb
blob: 91a6d68bfa21c959cd3c3994229286fa93189f8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
require File.expand_path('../../../../spec_helper', __FILE__)
require File.expand_path('../../fixtures/classes', __FILE__)

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