File: space_spec.rb

package info (click to toggle)
ruby-rspec-mocks 2.14.5-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 868 kB
  • ctags: 725
  • sloc: ruby: 8,227; makefile: 4
file content (32 lines) | stat: -rw-r--r-- 909 bytes parent folder | download
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
require 'spec_helper'

module RSpec::Mocks
  describe Space do

    describe "#proxies_of(klass)" do
      let(:space) { Space.new }

      it 'returns proxies' do
        space.proxy_for("")
        expect(space.proxies_of(String).map(&:class)).to eq([Proxy])
      end

      it 'returns only the proxies whose object is an instance of the given class' do
        grandparent_class = Class.new
        parent_class      = Class.new(grandparent_class)
        child_class       = Class.new(parent_class)

        grandparent = grandparent_class.new
        parent      = parent_class.new
        child       = child_class.new

        grandparent_proxy = space.proxy_for(grandparent)
        parent_proxy      = space.proxy_for(parent)
        child_proxy       = space.proxy_for(child)

        expect(space.proxies_of(parent_class)).to match_array([parent_proxy, child_proxy])
      end
    end

  end
end