Sha256: 661dd14b667e0ed8adeecc6e40151982696a372dc0093ce45d362d4fd5426464

Contents?: true

Size: 1.25 KB

Versions: 14

Compression:

Stored size: 1.25 KB

Contents

# btakita/rr issue #44
shared_examples_for 'an object which has a method double wrapped in an array and flattened' do
  include DoubleDefinitionCreatorHelpers

  it "does not raise an error" do
    object = build_object_with_possible_methods(some_method: -> {}) do |subject|
      double_definition_creator_for(subject).some_method
    end
    # force RR to define method_missing
    call_method_rescuing_times_called_error(object, :some_method)
    expect([object].flatten).to eq [object]
  end

  it "honors a #to_ary that already exists" do
    object = build_object_with_possible_methods(some_method: -> {}) do |subject, object|
      (class << object; self; end).class_eval do
        def to_ary; []; end
      end
      double_definition_creator_for(subject).some_method
    end
    # force RR to define method_missing
    call_method_rescuing_times_called_error(object, :some_method)
    expect([object].flatten).to eq []
  end

  it "is reset correctly" do
    object = build_object_with_possible_methods(some_method: -> {}) do |subject|
      double_definition_creator_for(subject).some_method
    end
    # force RR to define method_missing
    call_method_rescuing_times_called_error(object, :some_method)
    RR.reset
    expect([object].flatten).to eq [object]
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

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