Sha256: 146a34af1054085da512026361182537b174b1c823164667df715d004170718e

Contents?: true

Size: 680 Bytes

Versions: 9

Compression:

Stored size: 680 Bytes

Contents

require 'test_helper'

class TestAnyInstanceOf < MiniTest::Unit::TestCase
  class Foo
    def bar
      "foobar"
    end
  end

  class Bar < Foo
    def bar
      super
    end
  end

  def teardown
    Spy::Agency.instance.dissolve!
  end

  def test_it_overides_all_methods
    assert_equal Foo.new.bar, "foobar"
    spy = Spy.on_instance_method(Foo, bar: "timshel")
    assert_equal spy, Spy::Subroutine.get(Foo, :bar, false)
    assert_equal "timshel", Foo.new.bar
    assert_equal "timshel", Foo.new.bar
    assert_equal "timshel", Bar.new.bar
    assert_equal 3, spy.calls.size

    spy = Spy.off_instance_method(Foo, :bar)
    assert_equal Foo.new.bar, "foobar"
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
spy-0.4.1 test/integration/test_instance_method.rb
spy-0.4.0 test/integration/test_instance_method.rb
spy-0.3.1 test/integration/test_instance_method.rb
spy-0.3.0 test/integration/test_instance_method.rb
spy-0.2.5 test/integration/test_instance_method.rb
spy-0.2.4 test/integration/test_instance_method.rb
spy-0.2.3 test/integration/test_instance_method.rb
spy-0.2.2 test/integration/test_instance_method.rb
spy-0.2.1 test/integration/test_instance_method.rb