rspec-mocks 2.14.4 → 2.14.5

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 CHANGED
@@ -1,15 +1,7 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NjllZTA4NjU4ZGRkZWQxYjQ1ZGRhNmNjMWU1NjBjZDk2MzVmMDE3Zg==
5
- data.tar.gz: !binary |-
6
- M2I4Yjc1MDdhODcwOTJkY2UxOGUzMjdhNmVjNjMyYjBiN2YzN2ZkOA==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- OGU0Y2Y4ZmQ1OTFiYzU4YjM2OTYxYTMzMmExYWUzZWE0NGNjYTFiODlmYjli
10
- YzIxMzUxZTVkZDFjNmYzY2Q1ZDQ2MmM1NjEwYWQ0OGU2YzM4MjhhN2FkNWQ5
11
- YTNjNWZiYTg1NDNhODYyZGMxZjJiOTVhNDc4MDFjNDBlYTY3ZGM=
12
- data.tar.gz: !binary |-
13
- MDBmNWNkYzMxZTA1M2UwYjE2YmRlMGFiYTc4YTZmN2FhMDk4ZmU5YWY5NTU5
14
- NzU3NjhmNjllMzU0ZTM4OWE2YmFjMThlNGYyMWFjZTI5NjQxNjQ0NzJlMzdh
15
- OWFkZmE1MDg2NDk2MzdkYmY1MjMyZGFiZGRkNGFjN2VkNzMzNDU=
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0a57d504d5c028fb2a8a99979fe762432c66e2c5
4
+ data.tar.gz: 3936343e8929abf162cdec91f649590b94ee640b
5
+ SHA512:
6
+ metadata.gz: ec22b359484944c334d959dfc969446635712db242ceed9048855038948bc3fb29e58f6fc02057f179ef81e14e8481c6b87ad3e9994641ee16acef2ee9c7c4a0
7
+ data.tar.gz: 9563ceb3a3aef25c443406f11f489dc48d9ea2b37e8052698ac167d430b34456ad90b0557c937777e170823def793d481b87ce0a80da711e4c1c371d84d5c150
@@ -1,3 +1,13 @@
1
+ ### 2.14.5 / 2014-02-01
2
+ [full changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.4...v2.14.5)
3
+
4
+ Bug Fixes:
5
+
6
+ * Fix regression that caused block implementations to not receive all
7
+ args on 1.8.7 if the block also receives a block, due to Proc#arity
8
+ reporting `1` no matter how many args the block receives if it
9
+ receives a block, too. (Myron Marston)
10
+
1
11
  ### 2.14.4 / 2013-10-15
2
12
  [full changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.3...v2.14.4)
3
13
 
@@ -520,10 +520,27 @@ module RSpec
520
520
  end.last
521
521
  end
522
522
 
523
- def arg_slice_for(args, arity)
524
- if arity >= 0
525
- args.slice(0, arity)
526
- else
523
+ if RUBY_VERSION.to_f > 1.8
524
+ def arg_slice_for(args, arity)
525
+ if arity >= 0
526
+ args.slice(0, arity)
527
+ else
528
+ args
529
+ end
530
+ end
531
+ else
532
+ # 1.8.7's `arity` lies somtimes:
533
+ # Given:
534
+ # def print_arity(&b) puts b.arity; end
535
+ #
536
+ # This prints 1:
537
+ # print_arity { |a, b, c, &bl| }
538
+ #
539
+ # But this prints 3:
540
+ # print_arity { |a, b, c| }
541
+ #
542
+ # Given that it lies, we can't trust it and we don't slice the args.
543
+ def arg_slice_for(args, arity)
527
544
  args
528
545
  end
529
546
  end
@@ -1,7 +1,7 @@
1
1
  module RSpec
2
2
  module Mocks
3
3
  module Version
4
- STRING = '2.14.4'
4
+ STRING = '2.14.5'
5
5
  end
6
6
  end
7
7
  end
@@ -1,6 +1,17 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe "a double declaration with a block handed to:" do
4
+ # The "receives a block" part is important: 1.8.7 has a bug that reports the
5
+ # wrong arity when a block receives a block.
6
+ it 'forwards all given args to the block, even when it receives a block', :unless => RUBY_VERSION.to_s == '1.8.6' do
7
+ obj = Object.new
8
+ yielded_args = []
9
+ eval("obj.stub(:foo) { |*args, &bl| yielded_args << args }")
10
+ obj.foo(1, 2, 3)
11
+
12
+ expect(yielded_args).to eq([[1, 2, 3]])
13
+ end
14
+
4
15
  describe "should_receive" do
5
16
  it "returns the value of executing the block" do
6
17
  obj = Object.new
@@ -29,6 +29,18 @@ module RSpec
29
29
  end
30
30
 
31
31
  context "with two methods in chain" do
32
+ it "accepts any number of arguments to the stubbed messages" do
33
+ object.stub_chain(:msg1, :msg2).and_return(:return_value)
34
+
35
+ expect(object.msg1("nonsense", :value).msg2("another", :nonsense, 3.0, "value")).to eq(:return_value)
36
+ end
37
+
38
+ it "accepts any number of arguments to the stubbed messages with a return value from a hash" do
39
+ object.stub_chain(:msg1, :msg2 => :return_value)
40
+
41
+ expect(object.msg1("nonsense", :value).msg2("another", :nonsense, 3.0, "value")).to eq(:return_value)
42
+ end
43
+
32
44
  context "using and_return" do
33
45
  it "returns expected value from chaining two method calls" do
34
46
  object.stub_chain(:msg1, :msg2).and_return(:return_value)
metadata CHANGED
@@ -1,64 +1,56 @@
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.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.14.5
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
- date: 2013-10-16 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rake
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
12
+
13
+ date: 2014-02-01 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ version_requirements: &id001 !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
- type: :development
22
21
  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
29
- name: cucumber
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
22
+ name: rake
23
+ type: :development
24
+ requirement: *id001
25
+ - !ruby/object:Gem::Dependency
26
+ version_requirements: &id002 !ruby/object:Gem::Requirement
27
+ requirements:
32
28
  - - ~>
33
- - !ruby/object:Gem::Version
29
+ - !ruby/object:Gem::Version
34
30
  version: 1.1.9
35
- type: :development
36
31
  prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
32
+ name: cucumber
33
+ type: :development
34
+ requirement: *id002
35
+ - !ruby/object:Gem::Dependency
36
+ version_requirements: &id003 !ruby/object:Gem::Requirement
37
+ requirements:
39
38
  - - ~>
40
- - !ruby/object:Gem::Version
41
- version: 1.1.9
42
- - !ruby/object:Gem::Dependency
39
+ - !ruby/object:Gem::Version
40
+ version: "0.5"
41
+ prerelease: false
43
42
  name: aruba
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - ~>
47
- - !ruby/object:Gem::Version
48
- version: '0.5'
49
43
  type: :development
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ~>
54
- - !ruby/object:Gem::Version
55
- version: '0.5'
44
+ requirement: *id003
56
45
  description: RSpec's 'test double' framework, with support for stubbing and mocking
57
46
  email: rspec-users@rubyforge.org
58
47
  executables: []
48
+
59
49
  extensions: []
50
+
60
51
  extra_rdoc_files: []
61
- files:
52
+
53
+ files:
62
54
  - lib/rspec/mocks.rb
63
55
  - lib/rspec/mocks/any_instance/chain.rb
64
56
  - lib/rspec/mocks/any_instance/expectation_chain.rb
@@ -194,31 +186,32 @@ files:
194
186
  - spec/rspec/mocks_spec.rb
195
187
  - spec/spec_helper.rb
196
188
  homepage: http://github.com/rspec/rspec-mocks
197
- licenses:
189
+ licenses:
198
190
  - MIT
199
191
  metadata: {}
192
+
200
193
  post_install_message:
201
- rdoc_options:
194
+ rdoc_options:
202
195
  - --charset=UTF-8
203
- require_paths:
196
+ require_paths:
204
197
  - lib
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'
198
+ required_ruby_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - &id004
201
+ - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: "0"
204
+ required_rubygems_version: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - *id004
215
207
  requirements: []
208
+
216
209
  rubyforge_project: rspec
217
- rubygems_version: 2.0.7
210
+ rubygems_version: 2.0.3
218
211
  signing_key:
219
212
  specification_version: 4
220
- summary: rspec-mocks-2.14.4
221
- test_files:
213
+ summary: rspec-mocks-2.14.5
214
+ test_files:
222
215
  - features/README.md
223
216
  - features/Scope.md
224
217
  - features/Upgrade.md