Sha256: c93fe4a4399b269af5cae7e97bd242f7b6490a5e0f41daa2e426b582b97866d8

Contents?: true

Size: 1.21 KB

Versions: 14

Compression:

Stored size: 1.21 KB

Contents

shared_context 'stub + instance_of' do
  include StubDefinitionCreatorHelpers

  context 'where subject is a class', method_type: :class do
    context 'where methods being doubled already exist', methods_exist: true do
      include_context 'tests for a double definition creator method that supports stubbing'

      it "lets you stub methods which are called in #initialize" do
        klass = Class.new do
          def initialize; method_run_in_initialize; end
          def method_run_in_initialize; end
        end
        method_double_called = false
        double_creator = double_definition_creator_for(klass)
        double_creator.method_run_in_initialize { method_double_called = true }
        klass.new
        expect(method_double_called).to eq true
      end
    end

    context 'where methods being doubled do not already exist', methods_exist: false do
      include_context 'tests for a double definition creator method that supports stubbing'
    end
  end

  context 'where subject is an instance of a class', method_type: :instance do
    it "doesn't work" do
      double_creator = double_definition_creator_for(Object.new)
      expect { double_creator.some_method }.to raise_error(ArgumentError)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rr-3.1.1 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.1.0 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.0.9 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.0.8 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.0.7 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.0.6 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.0.5 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.0.4 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.0.3 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.0.2 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.0.1 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-3.0.0 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-1.2.1 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb
rr-1.2.0 spec/suites/rspec_2/support/shared_contexts/double_definition_creators/stub_instance_of.rb