1.0.2
1.0.1
- Removed new_instance_of for Ruby 1.9.2 compatibility. instance_of is now an
alias for any_instance_of.
- Compatible with Ruby 1.9.2
1.0.0
- Added any_instance_of (aliased by all_instances_of), which binds methods
directly to the class (instead of the eigenclass).
- Subclasses of a injected class do not have their methods overridden.
- any_instance_of and new_instance_of now have a block syntax
0.10.11
- Added RR.blank_slate_whitelist
- Fixed class_eval method redefinition warning in jruby
0.10.10
- Suite passes for Ruby 1.9.1
0.10.9
0.10.8
0.10.7
- Fixed issue with DoubleInjections binding to objects overriding the method
method.
0.10.6
0.10.5
0.10.4
- Handle lazily defined methods (where respond_to? returns true yet the
method is not yet defined and the first call to method_missing defines the
method). This pattern is used in ActiveRecord and ActionMailer.
- Fixed warning about aliasing instance_exec in jruby. github.com/btakita/rr/issues#issue/9
(Patch by Nathan Sobo)
0.10.2
0.10.1
- Fixed issue with DoubleInjection not invoking methods that are lazily
created [github.com/btakita/rr/issues/#issue/4].
Identified by davidlee (github.com/davidlee)
- Fixed issue with mock.proxy and returns [github.com/btakita/rr/issues/#issue/2].
Identified by trogdoro (github.com/trogdoro)
- 0.10.0
- Method is no longer invoked if respond_to? returns false. This was in place
to support ActiveRecord association proxies, and is no longer needed.
- 0.9.0
- instance_of Doubles now apply to methods invoked in the subject‘s
initialize method.
- 0.8.1
- Fixed exception where the Subject uses method delegation via method_missing
(e.g. certain ActiveRecord AssociationProxy methods)
- 0.8.0
- Fixed compatability issues with Ruby 1.9
- Aliased any_number_of_times with any_times
- Better error messages for have_received and assert_received matchers (Patch
by Joe Ferris)
- Better documentation on RR wilcard
matchers (Patch by Phil Arnowsky)
- 0.7.1
- Performance improvements
- 0.7.0
- Added spies (Patchs by Joe Ferris, Michael Niessner & Mike Mangino)
- Added strongly typed reimplementation doubles (Patch by Michael Niessner)
- 0.6.2
- Fixed DoubleDefinition chaining edge cases
- 0.6.1
- DoubleDefinitionCreatorProxy definition eval block is instance_evaled when
the arity is not 1. When the arity is 1, the block is yielded with the
DoubleDefinitionCreatorProxy passed in.
- 0.6.0
- Friendlier DoubleNotFound error message
- Implemented Double strategy creation methods (mock, stub, proxy,
instance_of, and ! equivalents) on DoubleDefinition
- Implemented hash_including matcher (Patch by Matthew O‘Conner)
- Implemented satisfy matcher (Patch by Matthew O‘Conner)
- Implemented DoubleDefinitionCreator#mock!, stub!, and dont_allow!
- Modified api to method chain Doubles
- Fix conflict with Mocha overriding Object#verify
- 0.5.0
- Method chaining Doubles (Patch by Nick Kallen)
- Chained ordered expectations (Patch by Nick Kallen)
- Space#verify_doubles can take one or more objects with DoubleInjections to
be verified
- 0.4.10
- DoubleDefinitionCreatorProxy does not undef object_id
- Fixed rdoc pointer to README
- 0.4.9
- Proxying from RR module to
RR::Space.instance
- 0.4.8
- Fixed issue with Hash arguments
- 0.4.7
- Improved error message
- 0.4.6
- Added Double#verbose and Double#verbose?
- 0.4.5
- Fixed doubles for == and eql? methods
- 0.4.4
- Doc improvements
- Methods that are not alphabetic, such as ==, can be doubles
- 0.4.3
- Doc improvements
- Cleanup
- Finished renaming scenario to double
- 0.4.2
- Renamed DoubleInsertion to DoubleInjection to be consistent with Mocha
terminology
- 0.4.1
- Fixed backward compatability issues with rspec
- Renamed Space#verify_double_insertions to verify_doubles
- 0.4.0
- Documentation improvements
- Renamed Double to DoubleInsertion
- Renamed Scenario to Double
- 0.3.11
- Fixed [13724] Mock Proxy on Active Record Association proxies causes error
- 0.3.10
- Fixed [13139] Blocks added to proxy sets the return_value and not the
after_call callback
- 0.3.9
- Alias probe to proxy
- 0.3.8
- Implemented [13009] Better error mesage from TimesCalledMatcher
- 0.3.7
- Fixed [12928] Reset doubles fails on Rails association proxies
- 0.3.6
- Fixed [12765] Issues with ObjectSpace._id2ref
- 0.3.5
- trim_backtrace is only set for Test::Unit
- 0.3.4
- Implemented instance_of
- 0.3.3
- Fixed [12495] Error Probing method_missing interaction
- 0.3.2
- Fixed [12486] ScenarioMethodProxy when Kernel passed into instance methods
- 0.3.1
- Automatically require Test::Unit and Rspec adapters
- 0.3.0
- ScenarioCreator strategy method chaining
- Removed mock_probe
- Removed stub_probe
- 0.2.5
- mock takes method_name argument
- stub takes method_name argument
- mock_probe takes method_name argument
- stub_probe takes method_name argument
- probe takes method_name argument
- dont_allow takes method_name argument
- do_not_allow takes method_name argument
- 0.2.4
- Space#doubles key is now the object id
- Fixed [12402] Stubbing return value of probes fails after calling the
stubbed method two times
- 0.2.3
- Added RRMethods#rr_verify and RRMethods#rr_reset
- 0.2.2
- Fixed "singleton method bound for a different object"
- Doing Method aliasing again to store original method
- 0.2.1
- Added mock_probe
- Added stub_probe
- Probe returns the return value of the passed in block, instead of ignoring
its return value
- Scenario#after_call returns the return value of the passed in block
- Not using method aliasing to store original method
- Renamed DoubleMethods to RRMethods
- Added RRMethods#mock_probe
- 0.1.15
- Fixed [12333] Rebinding original_methods causes blocks not to work
- 0.1.14
- Introduced concept of Terminal and NonTerminal TimesCalledMatchers
- Doubles that can be called many times can be replaced
- Terminal Scenarios are called before NonTerminal Scenarios
- Error message tweaking
- Raise error when making a Scenarios with NonTerminal TimesMatcher Ordered
- 0.1.13
- Fixed [12290] Scenario#returns with false causes a return value of nil
- 0.1.12
- Fixed bug where Creators methods are not removed when methods are defined
on Object
- Fixed [12289] Creators methods are not removed in Rails environment
- 0.1.11
- Fixed [12287] AtLeastMatcher does not cause Scenario to be called
- 0.1.10
- Fixed [12286] AnyArgumentExpectation#expected_arguments not implemented
- 0.1.9
- Added DoubleMethods#any_times
- Added Scenario#any_number_of_times
- 0.1.8
- TimesCalledError Message Formatted to be on multiple lines
- ScenarioNotFoundError Message includes all Scenarios for the Double
- ScenarioOrderError shows list of remaining ordered scenarios
- 0.1.7
- Fixed [12194] Double#reset_doubles are not clearing Ordered Scenarios bug
- Added Space#reset
- Space#reset_doubles and Space#reset_ordered_scenarios is now protected
- Added Scenario#at_least
- Added Scenario#at_most
- 0.1.6
- [12120] probe allows a the return value to be intercepted
- 0.1.5
- TimesCalledExpectation says how many times were called and how many times
called were expected on error
- 0.1.4
- TimesCalledError prints the backtrace to where the Scenario was defined
when being verified
- Error message includes method name when Scenario is not found
- 0.1.3
- Fixed issue where Double#placeholder_name issues when Double method name
has a ! or ?
- 0.1.2
- Scenario#returns also accepts an argument
- Implemented Scenario#yields
- 0.1.1
- Trim the backtrace for Rspec and Test::Unit
- Rspec and Test::Unit integration fixes
- 0.1.0
- Initial Release