rspec-mocks 3.1.2 → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Changelog.md +14 -0
- data/README.md +3 -0
- data/lib/rspec/mocks/matchers/have_received.rb +15 -3
- data/lib/rspec/mocks/message_expectation.rb +9 -4
- data/lib/rspec/mocks/proxy.rb +1 -1
- data/lib/rspec/mocks/verifying_proxy.rb +5 -0
- data/lib/rspec/mocks/version.rb +1 -1
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8967bb910d6e9e42450e14ac9ce3fd37b078ba5e
|
4
|
+
data.tar.gz: e05cfe6e3b29c252f091de7f562e3b2424a14a1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72a62c1548028c0517d412fdd5b62bd8047135a6a25696f180df864b9cc4e0332be07f29290888fe1375afa7de822e404f36d6111e83ab739dee57cbf5676c17
|
7
|
+
data.tar.gz: 496c5678781c6c5f14a3d929521f3e57698a28bf25766efd67eb5d918f93c108467228636275fbedbf71a34b56d28acb001ce47a6bd215cf74bb28e465b28b39
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/Changelog.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
### 3.1.3 / 2014-10-08
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.2...v3.1.3)
|
3
|
+
|
4
|
+
Bug Fixes:
|
5
|
+
|
6
|
+
* Correct received messages count when used with `have_received` matcher.
|
7
|
+
(Jon Rowe, #793)
|
8
|
+
* Provide a clear error message when you use `allow_any_instance_of(...)` or
|
9
|
+
`expect_any_instance_of(...)` with the `have_received` matcher (they are
|
10
|
+
not intended to be used together and previously caused an odd internal
|
11
|
+
failure in rspec-mocks). (Jon Rowe, #799).
|
12
|
+
* Fix verified double `with` verification so that it applies to method
|
13
|
+
stubs. (Myron Marston, #790)
|
14
|
+
|
1
15
|
### 3.1.2 / 2014-09-26
|
2
16
|
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.1...v3.1.2)
|
3
17
|
|
data/README.md
CHANGED
@@ -41,6 +41,9 @@ rspec-mocks supports 3 forms for declaring method stubs:
|
|
41
41
|
```ruby
|
42
42
|
allow(book).to receive(:title) { "The RSpec Book" }
|
43
43
|
allow(book).to receive(:title).and_return("The RSpec Book")
|
44
|
+
allow(book).to receive_messages(
|
45
|
+
:title => "The RSpec Book",
|
46
|
+
:subtitle => "Behaviour-Driven Development with RSpec, Cucumber, and Friends")
|
44
47
|
```
|
45
48
|
|
46
49
|
You can also use this shortcut, which creates a test double and declares a
|
@@ -55,13 +55,25 @@ module RSpec
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def setup_allowance(_subject, &_block)
|
58
|
-
|
59
|
-
|
60
|
-
|
58
|
+
disallow("allow", " as it would have no effect")
|
59
|
+
end
|
60
|
+
|
61
|
+
def setup_any_instance_allowance(_subject, &_block)
|
62
|
+
disallow("allow_any_instance_of")
|
63
|
+
end
|
64
|
+
|
65
|
+
def setup_any_instance_expectation(_subject, &_block)
|
66
|
+
disallow("expect_any_instance_of")
|
61
67
|
end
|
62
68
|
|
63
69
|
private
|
64
70
|
|
71
|
+
def disallow(type, reason="")
|
72
|
+
raise RSpec::Mocks::MockExpectationError,
|
73
|
+
"Using #{type}(...) with the `have_received` " \
|
74
|
+
"matcher is not supported#{reason}."
|
75
|
+
end
|
76
|
+
|
65
77
|
def expect
|
66
78
|
@expectation ||= begin
|
67
79
|
expectation = mock_proxy.build_expectation(@method_name)
|
@@ -228,14 +228,19 @@ module RSpec
|
|
228
228
|
@message == message && @argument_list_matcher.args_match?(*args)
|
229
229
|
end
|
230
230
|
|
231
|
+
# @private
|
232
|
+
def safe_invoke(parent_stub, *args, &block)
|
233
|
+
invoke_incrementing_actual_calls_by(1, false, parent_stub, *args, &block)
|
234
|
+
end
|
235
|
+
|
231
236
|
# @private
|
232
237
|
def invoke(parent_stub, *args, &block)
|
233
|
-
invoke_incrementing_actual_calls_by(1, parent_stub, *args, &block)
|
238
|
+
invoke_incrementing_actual_calls_by(1, true, parent_stub, *args, &block)
|
234
239
|
end
|
235
240
|
|
236
241
|
# @private
|
237
242
|
def invoke_without_incrementing_received_count(parent_stub, *args, &block)
|
238
|
-
invoke_incrementing_actual_calls_by(0, parent_stub, *args, &block)
|
243
|
+
invoke_incrementing_actual_calls_by(0, true, parent_stub, *args, &block)
|
239
244
|
end
|
240
245
|
|
241
246
|
# @private
|
@@ -504,10 +509,10 @@ module RSpec
|
|
504
509
|
|
505
510
|
private
|
506
511
|
|
507
|
-
def invoke_incrementing_actual_calls_by(increment, parent_stub, *args, &block)
|
512
|
+
def invoke_incrementing_actual_calls_by(increment, allowed_to_fail, parent_stub, *args, &block)
|
508
513
|
args.unshift(orig_object) if yield_receiver_to_implementation_block?
|
509
514
|
|
510
|
-
if negative? || ((@exactly || @at_most) && (@actual_received_count == @expected_received_count))
|
515
|
+
if negative? || (allowed_to_fail && (@exactly || @at_most) && (@actual_received_count == @expected_received_count))
|
511
516
|
@actual_received_count += increment
|
512
517
|
@failed_fast = true
|
513
518
|
# args are the args we actually received, @argument_list_matcher is the
|
data/lib/rspec/mocks/proxy.rb
CHANGED
@@ -121,6 +121,11 @@ module RSpec
|
|
121
121
|
super(*args, &block).tap { |x| x.method_reference = @method_reference }
|
122
122
|
end
|
123
123
|
|
124
|
+
def add_stub(*args, &block)
|
125
|
+
# explict params necessary for 1.8.7 see #626
|
126
|
+
super(*args, &block).tap { |x| x.method_reference = @method_reference }
|
127
|
+
end
|
128
|
+
|
124
129
|
def proxy_method_invoked(obj, *args, &block)
|
125
130
|
validate_arguments!(args)
|
126
131
|
super
|
data/lib/rspec/mocks/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-mocks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Baker
|
@@ -33,7 +33,7 @@ cert_chain:
|
|
33
33
|
1yHC1AcSYpvi2dAbOiHT5iQF+krm4wse8KctXgTNnjMsHEoGKulJS2/sZl90jcCz
|
34
34
|
muA=
|
35
35
|
-----END CERTIFICATE-----
|
36
|
-
date: 2014-09
|
36
|
+
date: 2014-10-09 00:00:00.000000000 Z
|
37
37
|
dependencies:
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: rspec-support
|
@@ -179,6 +179,6 @@ rubyforge_project: rspec
|
|
179
179
|
rubygems_version: 2.2.2
|
180
180
|
signing_key:
|
181
181
|
specification_version: 4
|
182
|
-
summary: rspec-mocks-3.1.
|
182
|
+
summary: rspec-mocks-3.1.3
|
183
183
|
test_files: []
|
184
184
|
has_rdoc:
|
metadata.gz.sig
CHANGED
Binary file
|