Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

base fork: rspec/rspec-mocks
...
head fork: rspec/rspec-mocks
Commits on Mar 05, 2012
Nathan Long nathanl Explained why `before(:all)` won't work for stubs. 0815a4a
Commits on Mar 17, 2012
David Chelimsky dchelimsky dev: add a script to download ruby-debug-base19-0.11.26.gem and linec…
…ache19-0.5.13.gem to a local cache

[ci skip]
eb5da85
David Chelimsky dchelimsky only one ref to yard please c8a5ef5
Commits on Mar 21, 2012
Myron Marston myronmarston Extract mock logic into TestDouble module.
This allows objects to be treated as a pure test double without needing to subclass RSpec::Mocks::Mock.

Closes #117.
af3f296
Commits on Mar 28, 2012
Maeve Revels maeve and_raise should support intentionally raising an ArgumentError 38ddf48
Myron Marston myronmarston Merge pull request #121 from maeve/fix-raising-argumenterrors
and_raise should support intentionally raising an ArgumentError
2478a16
Commits on Apr 16, 2012
David Chelimsky dchelimsky fail fast when an exactly or at_most expectation is exceeded fb9c76c
David Chelimsky dchelimsky minor refactoring for clarity 381c7c8
David Chelimsky dchelimsky a little more refactoring 764680c
David Chelimsky dchelimsky Refactoring: collapse concepts of method_block and return_block into
implementation.
f4f4ec3
Commits on Apr 17, 2012
David Chelimsky dchelimsky Make the fact that you can set message expectations on class objects
more obvious.

- Closes #125.

[ci skip]
155cef3
Commits on Apr 18, 2012
Cory Foy CoryFoy Correct spelling of "Responses" 40a2a0f
Justin Ko justinko Merge pull request #126 from CoryFoy/patch-1
Correct spelling of "Responses"
668ad3d
Commits on Apr 21, 2012
David Chelimsky dchelimsky one line on one line fa13314
Commits on Apr 22, 2012
David Chelimsky dchelimsky shorten file extension 707f515
David Chelimsky dchelimsky align config files across rspec projects 4b47e54
David Chelimsky dchelimsky dev: align Gemfiles across rspec projects b4204fb
Commits on May 01, 2012
David Chelimsky dchelimsky update yard to 0.8 1e4c1e6
Commits on May 04, 2012
David Chelimsky dchelimsky refactor subject out of one spec 604dc5d
David Chelimsky dchelimsky update changelog for 2.10 release 4862911
David Chelimsky dchelimsky bump to 2.10.0 6732d62
David Chelimsky dchelimsky rename some things in a spec d4b983c
David Chelimsky dchelimsky Fixed bug where at_least(0) failed when message was received
- Fixes #132
6b188a8
David Chelimsky dchelimsky Make sure at_least(0) passes even when never called
- Fixes #132 again
73be258
Commits on May 05, 2012
David Chelimsky dchelimsky dev: config for :focus 877dfa6
David Chelimsky dchelimsky dev: refactor a spec 2e9d990
David Chelimsky dchelimsky should_not_receive ignores and_return
- See #132
70aaf1c
David Chelimsky dchelimsky bump to 2.10.1 112b430
Commits on May 09, 2012
David Chelimsky dchelimsky Expose ArgumentListMatcher as a formal API
- supports use by 3rd party mock frameworks like Surrogate.
5d3e1dc
Commits on May 13, 2012
David Chelimsky dchelimsky spec refactoring: move shared examples to the one spec using them. eb12635
David Chelimsky dchelimsky dev: use :unless filter instead of a global exclusion filter e03d66b
David Chelimsky dchelimsky dev: rename context 671076d
David Chelimsky dchelimsky spec refactoring: rename subject with intention revealing name
- even though 'object' is no less generic than 'subject', it makes it
  more clear that we're talking about a generic object.
eebee30
Commits on May 17, 2012
David Chelimsky dchelimsky Merge pull request #115 from nathanl/master
Explained why `before(:all)` won't work for stubs.
2a69b71
Myron Marston myronmarston Fix a regression.
When doing something like:

  double.stub(:foo).and_return(a, b)
  double.should_receive(:foo).once { a }
  double.foo

...it used to work, but in 2.10 it raises a NoMethodError (#size).
b44db2a
Commits on May 19, 2012
Sidu Ponnappa kaiwren Replicating Issue #120 7d85604
Commits on May 20, 2012
Sidu Ponnappa kaiwren Issue #120: Under any_instance, modify #dup to remove the mock proxy 5de6500
Commits on May 22, 2012
Myron Marston myronmarston Update changelog. a11fcdc
Commits on May 23, 2012
Justin Ko justinko Merge pull request #138 from c42engineering/issue_120
Issue #120
bab88c7
Justin Ko justinko changelog [ci skip] c64c605
Justin Ko justinko No need for an "issue specific" spec file. aca2b40
Sidu Ponnappa kaiwren Replicated Issue #124 419b64a
aakash dharmadhikari aakashd issue #124: adding support for any_instance.should_not_receive 6e858e4
David Chelimsky dchelimsky Merge pull request #139 from c42engineering/issue124
add support for any_instance.should_not_receive
b38da74
Commits on May 24, 2012
David Chelimsky dchelimsky `should_receive(x).at_least(:once).and_return(y)` always returns y ev…
…en if x is already stubbed

    widget.stub(:count => 1)
    widget.should_receive(:count).at_least(:once).and_return(2)
    widget.count #=> 2
    widget.count #=> 2

If there is no return value set, it will fall back to the stub value:

    widget.stub(:count => 1)
    widget.should_receive(:count).at_least(:once)
    widget.count #=> 1
    widget.count #=> 1

- Fixes #142
dbe44e6
Commits on May 25, 2012
Bryan Helmkamp brynary Add Code Climate badge 8879661
David Chelimsky dchelimsky Merge pull request #143 from brynary/codeclimate-badge
Add Code Climate badge
ea1053b
Commits on May 31, 2012
Patrick Ellis pje `:%s/ducktype/duck_type/g` 5edfe94
David Chelimsky dchelimsky Merge pull request #145 from pjellis/patch-1
[typo] underscore-ize 'ducktype' in README.md
4b70b45
Commits on Jun 02, 2012
Myron Marston myronmarston First pass at implementing constant stubbing.
This is almost copied verbatim from rspec-fire.

For #144.
9c44b28
Myron Marston myronmarston Always restore original constants.
The original logic from rspec-fire did not restore original constants
if the user changed them in the example after stubbing them, but after
talking it over with @dchelimsky and @garyberhnardt we've decided to
be consistent and always restore them.

For #144.
9a7c90d
Myron Marston myronmarston Remove the bang from our #stub! methods.
I'm not really sure why I used them when I wrote this in rspec-fire;
given there were not corresponding bang-less methods, it didn't
really make sense.

For #144.
2b4fad7
Myron Marston myronmarston Fix a constant stubbing edge case.
stub_const("A::B::C", whatever) cannot work if A::B is defined
but A::B is not a module.

For #144.
d1669a8
Myron Marston myronmarston Remove unused method.
For #144.
f77357e
Myron Marston myronmarston Add API docs for new constant stubbing code.
For #144.
ecfb7f6
Myron Marston myronmarston Add cukes for new stub_const feature.
Closes #144.
e31f4a4
Commits on Jun 03, 2012
Myron Marston myronmarston Fix typo pointed out by @justinko. 7ab3d61
Myron Marston myronmarston Replace duplicated README content with a link.
As per the conversation with @justinko and @dchelimsky:
#146 (comment)

Note that this link is broken for now because this hasn't
yet been merged into master. But I figured it was better
not to use a working link just to the branch since that
branch will likely be deleted in the near future.
0bd5850
Myron Marston myronmarston Refactor constant stubbers a bit.
This is based on @justinko's suggestions:
#146 (comment)
2cbf9c4
Commits on Jun 04, 2012
Myron Marston myronmarston Remove unused helper method. 22c2049
Neha Kumari Issue #123: Improved error message when user forgets to stub a method…
… with default behavior.
409955f
David Chelimsky dchelimsky Merge pull request #147 from c42engineering/issue123
Issue #123: Improved error message when user forgets to stub a method with a default.
1ebc698
David Chelimsky dchelimsky Use the improved message from the prev commit for stubs, not message …
…expectations.

- Closes #147, #123.
49ce496
Commits on Jun 07, 2012
Myron Marston myronmarston Return stubbed value rather than original value from stub_const.
This allows chaining:

  stub_const("Foo", double).stub(:foo)
f94e6b2
Myron Marston myronmarston Add `Constant.original` API to query rspec-mocks about stubbed consta…
…nts.

This needs to be documented, but I want to get feedback from others before spending effort on that.
211743d
Commits on Jun 08, 2012
Myron Marston myronmarston Make Constant.unstubbed private since it's an internal API. fd595a8
Myron Marston myronmarston Refactor away the use of #its.
#its is going away in rspec-core at some future point, so we shouldn't use it here.
722529e
Commits on Jun 11, 2012
Myron Marston myronmarston Add API docs for Constant.original query API. 3b63c51
Myron Marston myronmarston Merge pull request #146 from rspec/constant-stubbing f5c63c3
Myron Marston myronmarston Mention new stub_const feature in changelog. f04d527
Commits on Jun 15, 2012
David Chelimsky dchelimsky refactor: rename ExpectationChain to PositiveExpectationChain
Also extract base ExpectationChain.
980b98f
Commits on Jun 18, 2012
Myron Marston myronmarston Prevent infinite loop when interpolating a null double as an integer …
…into a string.

Closes #154.
f8cae14
Myron Marston myronmarston Weird, 1.9.2 acts differently here than 1.9.3 and 1.8.7. b96dd92
Commits on Jun 24, 2012
Myron Marston myronmarston Fix `should_receive` to preserve null object behavior.
Given a case like:

   double = mock.as_null_object
   double.should_receive(:bar)

...`double.bar` was returning nil when it should return the double itself, since that's the expected null object behavior and no implementation was provided for the mock expectation.

Closes #155.
a5f296e
Commits on Jun 25, 2012
Myron Marston myronmarston Cleanup whitespace.
(Actually, I'm mostly doing this just to trigger a travis build. A
recent change in rspec-expectations[1] broke the rspec-mocks
travis build, and now that it's fixed[2], I want to see that the
rspec-mocks build is passing.  I figured I may as well make a useful
but non functional change while I'm at it, though).

[1] rspec/rspec-expectations@4024344#commitcomment-1496381
[2] rspec/rspec-expectations@a3e2839
28b284d
Commits on Jun 27, 2012
Andrew Marshall amarshall Raise RuntimeError instead by default in and_raise to match Ruby default dc5e1a7
Myron Marston myronmarston Merge pull request #156 from amarshall/master
Raise RuntimeError instead of Exception by default in and_raise to match Ruby's default
c3539b9
Myron Marston myronmarston Update changelog. aa179ed
Commits on Jul 07, 2012
David Chelimsky dchelimsky bump to 2.11.0 e6bba62
David Chelimsky dchelimsky improve automation for publishing to relishapp.com b35b5b4
Commits on Jul 09, 2012
Myron Marston myronmarston Fix edge case bug exposed w/ `should_receive` on a null object w/ a p…
…revious stub.

In a case like:

  double = stub.as_null_object
  double.stub(:foo => "bar")
  double.should_receive(:foo)
  double.foo

..it used to return "bar", but due to my changes in a5f296e it was returning `self`.
26f6476
Commits on Jul 10, 2012
Myron Marston myronmarston 2.11.1 release. 24090f8
Uģis Ozols ugisozols Add missing 'be's to the README. 5288070
Justin Ko justinko Merge pull request #161 from ugisozols/master
Add missing 'be's to the README.
d9169ca
Commits on Jul 11, 2012
Myron Marston myronmarston Fix ruby warnings.
- lib/rspec/mocks/error_generator.rb:32: warning: assigned but unused variable - expected_args
- lib/rspec/mocks/error_generator.rb:33: warning: assigned but unused variable - actual_args
- lib/rspec/mocks/stub_const.rb:8: warning: shadowing outer local variable - name
- lib/rspec/mocks/stub_const.rb:12: warning: shadowing outer local variable - name
- spec/rspec/mocks/stub_const_spec.rb:60: warning: assigned but unused variable - orig_value
- lib/rspec/mocks/stub_const.rb:233: warning: instance variable @registered_with_mocks_space not initialized


Closes #162.
f36ad4d
Commits on Aug 01, 2012
David Chelimsky dchelimsky Don't modify dup on classes that don't support dup
Fixes #168.
b828604
Commits on Aug 03, 2012
daneget daneget Fix any_instance to handle methods defined on superclasses.
Previously, the recorder implementation created a SystemStackError.

Closes #152.
1272c8a
Myron Marston myronmarston Cleanup spec a bit. 306ee36
Myron Marston myronmarston Update changelog. f1a2682
Commits on Aug 05, 2012
David Chelimsky dchelimsky align the feature READMEs for stubs and message expectations e2826c6
David Chelimsky dchelimsky dev: update optional dev dependencies 37e095c
Commits on Aug 10, 2012
Jim Deville jredville fix formatting for relish df607ea
alindeman alindeman Merge pull request #173 from jredville/master
Clean up formatting for Relish
bb21bc1
Commits on Aug 11, 2012
Myron Marston myronmarston Fix use of const_defined? and const_get so it ignores top-level const…
…ants.

I didn't realize this previously, but these methods can pick up a top-level
constant when you don't intend it (e.g. ::Hash when checking MyGem.const_defined?("Hash")).
deec990
Commits on Aug 12, 2012
Myron Marston myronmarston 2.11.2 release. e7bd234
Commits on Sep 17, 2012
Myron Marston myronmarston Merge bug-fix commits from master into 2-11-maintenance.
This is in prep for the 2.11.3 release.

For future reference, I used the following steps to do this, starting
from a checkout of master:

* `git checkout -b bug_fixes_from_master`
* `git rebase -i v2.11.0`
* Removed the non-bug fix commits from the list of commits
  during interactive rebase.
* `git checkout 2-11-maintenance`
* `git merge bug_fixes_from_master`

Conflicts:
	Changelog.md
	Gemfile-custom.sample
	lib/rspec/mocks/any_instance/recorder.rb
	lib/rspec/mocks/stub_const.rb
	spec/rspec/mocks/any_instance_spec.rb
76a635c
Commits on Sep 19, 2012
Myron Marston myronmarston Fix confusing error message.
When a class method was mocked and it was called an extra time with the wrong arguments, the error being raised was:

"NoMethodError: undefined method `bar' for Object:Class"

...which was very confusing.
767acd0
Commits on Sep 20, 2012
Myron Marston myronmarston 2.11.3 release. d0bcce4