rspec-mocks 2.14.5 → 2.14.6
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 +15 -7
- data/Changelog.md +8 -0
- data/lib/rspec/mocks/any_instance/recorder.rb +0 -3
- data/lib/rspec/mocks/space.rb +5 -4
- data/lib/rspec/mocks/version.rb +1 -1
- data/spec/rspec/mocks/any_instance_spec.rb +76 -27
- data/spec/rspec/mocks/matchers/receive_spec.rb +6 -0
- data/spec/rspec/mocks/mock_space_spec.rb +0 -10
- metadata +56 -49
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZWYzOGM0ZDZlNWI1YjhiOGY5N2MxMGEzODNlNzA4NzJiYmRiOWIwMg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MjhlMWMxOWI0MTMxYjQzYmExMWVmODkwMGNhYzczYmY1MWU1ZTliMw==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
OGM2M2FjZWM0YzJkMjkwOWE5Nzk0NWY3YjNmNGJlN2QxZjBjNmI2ZTU5NTQy
|
10
|
+
ODA3N2EyODNmNGFiYjA3M2FiZDQ5NTc5NThmYzVlNGJhMTY3ZTg0MTQyNjBj
|
11
|
+
NDZjY2Q2Y2ZiZTA1NTBlMjBhYTQzMWU1MDgyNzU1OGNhYzZkOTE=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MmNjMDFlNDM0MTZhZGNiZjhjMmQ1NDk4OGQ3YzViOGExOTVlMzUzNzI1MTI0
|
14
|
+
NjlkMTdkZmQyNjE5ODljNTc5MWE4M2E3NzQzY2Y0ZWEzZDVkYTQzNmM3OGY3
|
15
|
+
Yjg4ODM5ZmI0NjYyYjEzZGMyZGZjNzA2ZDExOTM3ZDY1OWY2YmQ=
|
data/Changelog.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
### 2.14.6 development
|
2
|
+
[full changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.5...v2.14.6)
|
3
|
+
|
4
|
+
Bug Fixes:
|
5
|
+
|
6
|
+
* Ensure `any_instance` method stubs and expectations are torn down regardless of
|
7
|
+
expectation failures. (Sam Phippen)
|
8
|
+
|
1
9
|
### 2.14.5 / 2014-02-01
|
2
10
|
[full changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.4...v2.14.5)
|
3
11
|
|
@@ -88,9 +88,6 @@ module RSpec
|
|
88
88
|
if @expectation_set && !message_chains.all_expectations_fulfilled?
|
89
89
|
raise RSpec::Mocks::MockExpectationError, "Exactly one instance should have received the following message(s) but didn't: #{message_chains.unfulfilled_expectations.sort.join(', ')}"
|
90
90
|
end
|
91
|
-
ensure
|
92
|
-
stop_all_observation!
|
93
|
-
::RSpec::Mocks.space.remove_any_instance_recorder_for(@klass)
|
94
91
|
end
|
95
92
|
|
96
93
|
# @private
|
data/lib/rspec/mocks/space.rb
CHANGED
@@ -27,6 +27,11 @@ module RSpec
|
|
27
27
|
end
|
28
28
|
|
29
29
|
proxies.clear
|
30
|
+
|
31
|
+
any_instance_recorders.each_value do |recorder|
|
32
|
+
recorder.stop_all_observation!
|
33
|
+
end
|
34
|
+
|
30
35
|
any_instance_recorders.clear
|
31
36
|
expectation_ordering.clear
|
32
37
|
end
|
@@ -42,10 +47,6 @@ module RSpec
|
|
42
47
|
end
|
43
48
|
end
|
44
49
|
|
45
|
-
def remove_any_instance_recorder_for(klass)
|
46
|
-
any_instance_recorders.delete(klass.__id__)
|
47
|
-
end
|
48
|
-
|
49
50
|
def proxies_of(klass)
|
50
51
|
proxies.values.select { |proxy| klass === proxy.object }
|
51
52
|
end
|
data/lib/rspec/mocks/version.rb
CHANGED
@@ -369,6 +369,7 @@ module RSpec
|
|
369
369
|
klass.any_instance.should_not_receive(:bar)
|
370
370
|
klass.new.foo
|
371
371
|
RSpec::Mocks.space.verify_all
|
372
|
+
RSpec::Mocks.space.reset_all
|
372
373
|
end
|
373
374
|
end
|
374
375
|
|
@@ -391,24 +392,36 @@ module RSpec
|
|
391
392
|
|
392
393
|
it "fails if an instance is created but no invocation occurs" do
|
393
394
|
expect do
|
394
|
-
|
395
|
-
|
396
|
-
|
395
|
+
begin
|
396
|
+
klass.any_instance.should_receive(:foo)
|
397
|
+
klass.new
|
398
|
+
RSpec::Mocks.space.verify_all
|
399
|
+
ensure
|
400
|
+
RSpec::Mocks.space.reset_all
|
401
|
+
end
|
397
402
|
end.to raise_error(RSpec::Mocks::MockExpectationError, foo_expectation_error_message)
|
398
403
|
end
|
399
404
|
|
400
405
|
it "fails if no instance is created" do
|
401
406
|
expect do
|
402
|
-
|
403
|
-
|
407
|
+
begin
|
408
|
+
klass.any_instance.should_receive(:foo).and_return(1)
|
409
|
+
RSpec::Mocks.space.verify_all
|
410
|
+
ensure
|
411
|
+
RSpec::Mocks.space.reset_all
|
412
|
+
end
|
404
413
|
end.to raise_error(RSpec::Mocks::MockExpectationError, foo_expectation_error_message)
|
405
414
|
end
|
406
415
|
|
407
416
|
it "fails if no instance is created and there are multiple expectations" do
|
408
417
|
expect do
|
409
|
-
|
410
|
-
|
411
|
-
|
418
|
+
begin
|
419
|
+
klass.any_instance.should_receive(:foo)
|
420
|
+
klass.any_instance.should_receive(:bar)
|
421
|
+
RSpec::Mocks.space.verify_all
|
422
|
+
ensure
|
423
|
+
RSpec::Mocks.space.reset_all
|
424
|
+
end
|
412
425
|
end.to raise_error(RSpec::Mocks::MockExpectationError, 'Exactly one instance should have received the following message(s) but didn\'t: bar, foo')
|
413
426
|
end
|
414
427
|
|
@@ -470,24 +483,36 @@ module RSpec
|
|
470
483
|
|
471
484
|
it "fails if an instance is created but no invocation occurs" do
|
472
485
|
expect do
|
473
|
-
|
474
|
-
|
475
|
-
|
486
|
+
begin
|
487
|
+
klass.any_instance.should_receive(:existing_method)
|
488
|
+
klass.new
|
489
|
+
RSpec::Mocks.space.verify_all
|
490
|
+
ensure
|
491
|
+
RSpec::Mocks.space.reset_all
|
492
|
+
end
|
476
493
|
end.to raise_error(RSpec::Mocks::MockExpectationError, existing_method_expectation_error_message)
|
477
494
|
end
|
478
495
|
|
479
496
|
it "fails if no instance is created" do
|
480
497
|
expect do
|
481
|
-
|
482
|
-
|
498
|
+
begin
|
499
|
+
klass.any_instance.should_receive(:existing_method)
|
500
|
+
RSpec::Mocks.space.verify_all
|
501
|
+
ensure
|
502
|
+
RSpec::Mocks.space.reset_all
|
503
|
+
end
|
483
504
|
end.to raise_error(RSpec::Mocks::MockExpectationError, existing_method_expectation_error_message)
|
484
505
|
end
|
485
506
|
|
486
507
|
it "fails if no instance is created and there are multiple expectations" do
|
487
508
|
expect do
|
488
|
-
|
489
|
-
|
490
|
-
|
509
|
+
begin
|
510
|
+
klass.any_instance.should_receive(:existing_method)
|
511
|
+
klass.any_instance.should_receive(:another_existing_method)
|
512
|
+
RSpec::Mocks.space.verify_all
|
513
|
+
ensure
|
514
|
+
RSpec::Mocks.space.reset_all
|
515
|
+
end
|
491
516
|
end.to raise_error(RSpec::Mocks::MockExpectationError, 'Exactly one instance should have received the following message(s) but didn\'t: another_existing_method, existing_method')
|
492
517
|
end
|
493
518
|
|
@@ -580,16 +605,24 @@ module RSpec
|
|
580
605
|
|
581
606
|
it "fails when no instances are declared" do
|
582
607
|
expect do
|
583
|
-
|
584
|
-
|
608
|
+
begin
|
609
|
+
klass.any_instance.should_receive(:foo).once
|
610
|
+
RSpec::Mocks.space.verify_all
|
611
|
+
ensure
|
612
|
+
RSpec::Mocks.space.reset_all
|
613
|
+
end
|
585
614
|
end.to raise_error(RSpec::Mocks::MockExpectationError, foo_expectation_error_message)
|
586
615
|
end
|
587
616
|
|
588
617
|
it "fails when an instance is declared but there are no invocations" do
|
589
618
|
expect do
|
590
|
-
|
591
|
-
|
592
|
-
|
619
|
+
begin
|
620
|
+
klass.any_instance.should_receive(:foo).once
|
621
|
+
klass.new
|
622
|
+
RSpec::Mocks.space.verify_all
|
623
|
+
ensure
|
624
|
+
RSpec::Mocks.space.reset_all
|
625
|
+
end
|
593
626
|
end.to raise_error(RSpec::Mocks::MockExpectationError, foo_expectation_error_message)
|
594
627
|
end
|
595
628
|
|
@@ -714,9 +747,13 @@ module RSpec
|
|
714
747
|
|
715
748
|
it "fails when the other expecations are not met" do
|
716
749
|
expect do
|
717
|
-
|
718
|
-
|
719
|
-
|
750
|
+
begin
|
751
|
+
klass.any_instance.should_receive(:foo).never
|
752
|
+
klass.any_instance.should_receive(:existing_method).and_return(5)
|
753
|
+
RSpec::Mocks.space.verify_all
|
754
|
+
ensure
|
755
|
+
RSpec::Mocks.space.reset_all
|
756
|
+
end
|
720
757
|
end.to raise_error(RSpec::Mocks::MockExpectationError, existing_method_expectation_error_message)
|
721
758
|
end
|
722
759
|
end
|
@@ -752,9 +789,13 @@ module RSpec
|
|
752
789
|
|
753
790
|
it "fails when the other expecations are not met" do
|
754
791
|
expect do
|
755
|
-
|
756
|
-
|
757
|
-
|
792
|
+
begin
|
793
|
+
klass.any_instance.should_receive(:foo).any_number_of_times
|
794
|
+
klass.any_instance.should_receive(:existing_method).and_return(5)
|
795
|
+
RSpec::Mocks.space.verify_all
|
796
|
+
ensure
|
797
|
+
RSpec::Mocks.space.reset_all
|
798
|
+
end
|
758
799
|
end.to raise_error(RSpec::Mocks::MockExpectationError, existing_method_expectation_error_message)
|
759
800
|
end
|
760
801
|
end
|
@@ -779,6 +820,7 @@ module RSpec
|
|
779
820
|
|
780
821
|
it "restores the class to its original state after each example when no instance is created" do
|
781
822
|
space.verify_all
|
823
|
+
space.reset_all
|
782
824
|
|
783
825
|
expect(klass.method_defined?(:__existing_method_without_any_instance__)).to be_false
|
784
826
|
expect(klass.new.existing_method).to eq(existing_method_return_value)
|
@@ -788,6 +830,7 @@ module RSpec
|
|
788
830
|
klass.new.existing_method
|
789
831
|
|
790
832
|
space.verify_all
|
833
|
+
space.reset_all
|
791
834
|
|
792
835
|
expect(klass.method_defined?(:__existing_method_without_any_instance__)).to be_false
|
793
836
|
expect(klass.new.existing_method).to eq(existing_method_return_value)
|
@@ -798,6 +841,7 @@ module RSpec
|
|
798
841
|
klass.new.existing_method
|
799
842
|
|
800
843
|
space.verify_all
|
844
|
+
space.reset_all
|
801
845
|
|
802
846
|
expect(klass.method_defined?(:__existing_method_without_any_instance__)).to be_false
|
803
847
|
expect(klass.new.existing_method).to eq(existing_method_return_value)
|
@@ -808,6 +852,7 @@ module RSpec
|
|
808
852
|
before :each do
|
809
853
|
klass.any_instance.stub(:private_method).and_return(:something)
|
810
854
|
space.verify_all
|
855
|
+
space.reset_all
|
811
856
|
end
|
812
857
|
|
813
858
|
it "cleans up the backed up method" do
|
@@ -830,6 +875,7 @@ module RSpec
|
|
830
875
|
klass.any_instance.should_receive(:private_method).and_return(:something)
|
831
876
|
klass.new.private_method
|
832
877
|
space.verify_all
|
878
|
+
space.reset_all
|
833
879
|
end
|
834
880
|
|
835
881
|
it "cleans up the backed up method" do
|
@@ -877,6 +923,7 @@ module RSpec
|
|
877
923
|
klass.any_instance.should_receive(:existing_method).and_return(Object.new)
|
878
924
|
klass.new.existing_method
|
879
925
|
space.verify_all
|
926
|
+
space.reset_all
|
880
927
|
|
881
928
|
expect(klass.new.existing_method).to eq(existing_method_return_value)
|
882
929
|
end
|
@@ -889,6 +936,7 @@ module RSpec
|
|
889
936
|
klass.any_instance.stub(:existing_method).and_return(true)
|
890
937
|
|
891
938
|
RSpec::Mocks.space.verify_all
|
939
|
+
RSpec::Mocks.space.reset_all
|
892
940
|
expect(klass.new).to respond_to(:existing_method)
|
893
941
|
expect(klass.new.existing_method).to eq(existing_method_return_value)
|
894
942
|
end
|
@@ -978,6 +1026,7 @@ module RSpec
|
|
978
1026
|
expect(instance.existing_method).to eq :stubbed_return_value
|
979
1027
|
|
980
1028
|
RSpec::Mocks.verify
|
1029
|
+
RSpec::Mocks.teardown
|
981
1030
|
|
982
1031
|
expect(instance.existing_method).to eq :existing_method_return_value
|
983
1032
|
end
|
@@ -9,6 +9,10 @@ module RSpec
|
|
9
9
|
::RSpec::Mocks.space.verify_all
|
10
10
|
end
|
11
11
|
|
12
|
+
def reset_all
|
13
|
+
::RSpec::Mocks.space.reset_all
|
14
|
+
end
|
15
|
+
|
12
16
|
shared_examples_for "a receive matcher" do |*options|
|
13
17
|
it 'allows the caller to configure how the subject responds' do
|
14
18
|
wrapped.to receive(:foo).and_return(5)
|
@@ -97,6 +101,8 @@ module RSpec
|
|
97
101
|
expect {
|
98
102
|
verify_all
|
99
103
|
}.to raise_error(RSpec::Mocks::MockExpectationError)
|
104
|
+
|
105
|
+
reset_all
|
100
106
|
end
|
101
107
|
|
102
108
|
it "reports the line number of expectation of unreceived message", :pending => options.include?(:does_not_report_line_num) do
|
@@ -97,16 +97,6 @@ module RSpec
|
|
97
97
|
expect(r1).to be(r2)
|
98
98
|
expect(r1).not_to be(r3)
|
99
99
|
end
|
100
|
-
|
101
|
-
it 'removes an any_instance_recorder when requested' do
|
102
|
-
klass = Class.new
|
103
|
-
|
104
|
-
space.any_instance_recorder_for(klass)
|
105
|
-
|
106
|
-
expect {
|
107
|
-
space.remove_any_instance_recorder_for(klass)
|
108
|
-
}.to change { space.any_instance_recorders.size }.by(-1)
|
109
|
-
end
|
110
100
|
end
|
111
101
|
end
|
112
102
|
end
|
metadata
CHANGED
@@ -1,56 +1,64 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-mocks
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.14.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.14.6
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Steven Baker
|
8
8
|
- David Chelimsky
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
requirements:
|
12
|
+
date: 2014-02-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
18
|
- - ~>
|
19
|
-
- !ruby/object:Gem::Version
|
19
|
+
- !ruby/object:Gem::Version
|
20
20
|
version: 10.0.0
|
21
|
-
prerelease: false
|
22
|
-
name: rake
|
23
21
|
type: :development
|
24
|
-
requirement: *id001
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
27
|
-
requirements:
|
28
|
-
- - ~>
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: 1.1.9
|
31
22
|
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 10.0.0
|
28
|
+
- !ruby/object:Gem::Dependency
|
32
29
|
name: cucumber
|
33
|
-
|
34
|
-
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
38
32
|
- - ~>
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version:
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 1.1.9
|
35
|
+
type: :development
|
41
36
|
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ~>
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 1.1.9
|
42
|
+
- !ruby/object:Gem::Dependency
|
42
43
|
name: aruba
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ~>
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0.5'
|
43
49
|
type: :development
|
44
|
-
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0.5'
|
45
56
|
description: RSpec's 'test double' framework, with support for stubbing and mocking
|
46
57
|
email: rspec-users@rubyforge.org
|
47
58
|
executables: []
|
48
|
-
|
49
59
|
extensions: []
|
50
|
-
|
51
60
|
extra_rdoc_files: []
|
52
|
-
|
53
|
-
files:
|
61
|
+
files:
|
54
62
|
- lib/rspec/mocks.rb
|
55
63
|
- lib/rspec/mocks/any_instance/chain.rb
|
56
64
|
- lib/rspec/mocks/any_instance/expectation_chain.rb
|
@@ -186,32 +194,31 @@ files:
|
|
186
194
|
- spec/rspec/mocks_spec.rb
|
187
195
|
- spec/spec_helper.rb
|
188
196
|
homepage: http://github.com/rspec/rspec-mocks
|
189
|
-
licenses:
|
197
|
+
licenses:
|
190
198
|
- MIT
|
191
199
|
metadata: {}
|
192
|
-
|
193
200
|
post_install_message:
|
194
|
-
rdoc_options:
|
201
|
+
rdoc_options:
|
195
202
|
- --charset=UTF-8
|
196
|
-
require_paths:
|
203
|
+
require_paths:
|
197
204
|
- lib
|
198
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
199
|
-
requirements:
|
200
|
-
-
|
201
|
-
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
205
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
206
|
+
requirements:
|
207
|
+
- - ! '>='
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
version: '0'
|
210
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - ! '>='
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
207
215
|
requirements: []
|
208
|
-
|
209
216
|
rubyforge_project: rspec
|
210
|
-
rubygems_version: 2.0.
|
217
|
+
rubygems_version: 2.0.7
|
211
218
|
signing_key:
|
212
219
|
specification_version: 4
|
213
|
-
summary: rspec-mocks-2.14.
|
214
|
-
test_files:
|
220
|
+
summary: rspec-mocks-2.14.6
|
221
|
+
test_files:
|
215
222
|
- features/README.md
|
216
223
|
- features/Scope.md
|
217
224
|
- features/Upgrade.md
|