rspec-mocks 2.10.0 → 2.11.0

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.
Files changed (36) hide show
  1. data/Changelog.md +36 -1
  2. data/README.md +14 -2
  3. data/features/stubbing_constants/README.md +62 -0
  4. data/features/stubbing_constants/stub_defined_constant.feature +79 -0
  5. data/features/stubbing_constants/stub_undefined_constant.feature +50 -0
  6. data/lib/rspec/mocks/any_instance/chain.rb +0 -81
  7. data/lib/rspec/mocks/any_instance/expectation_chain.rb +57 -0
  8. data/lib/rspec/mocks/any_instance/recorder.rb +6 -1
  9. data/lib/rspec/mocks/any_instance/stub_chain.rb +37 -0
  10. data/lib/rspec/mocks/any_instance/stub_chain_chain.rb +25 -0
  11. data/lib/rspec/mocks/any_instance.rb +37 -1
  12. data/lib/rspec/mocks/argument_list_matcher.rb +93 -0
  13. data/lib/rspec/mocks/argument_matchers.rb +39 -31
  14. data/lib/rspec/mocks/error_generator.rb +7 -0
  15. data/lib/rspec/mocks/example_methods.rb +41 -0
  16. data/lib/rspec/mocks/framework.rb +2 -1
  17. data/lib/rspec/mocks/message_expectation.rb +27 -15
  18. data/lib/rspec/mocks/methods.rb +4 -0
  19. data/lib/rspec/mocks/proxy.rb +10 -4
  20. data/lib/rspec/mocks/stub_const.rb +280 -0
  21. data/lib/rspec/mocks/test_double.rb +3 -2
  22. data/lib/rspec/mocks/version.rb +1 -1
  23. data/spec/rspec/mocks/any_instance/message_chains_spec.rb +1 -1
  24. data/spec/rspec/mocks/any_instance_spec.rb +66 -26
  25. data/spec/rspec/mocks/argument_expectation_spec.rb +7 -7
  26. data/spec/rspec/mocks/at_least_spec.rb +89 -50
  27. data/spec/rspec/mocks/block_return_value_spec.rb +8 -0
  28. data/spec/rspec/mocks/mock_spec.rb +261 -246
  29. data/spec/rspec/mocks/multiple_return_value_spec.rb +2 -2
  30. data/spec/rspec/mocks/null_object_mock_spec.rb +22 -0
  31. data/spec/rspec/mocks/stub_chain_spec.rb +47 -47
  32. data/spec/rspec/mocks/stub_const_spec.rb +309 -0
  33. data/spec/rspec/mocks/stub_spec.rb +2 -2
  34. data/spec/spec_helper.rb +3 -41
  35. metadata +18 -6
  36. data/lib/rspec/mocks/argument_expectation.rb +0 -52
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: 2.10.0
4
+ version: 2.11.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-05-04 00:00:00.000000000 Z
13
+ date: 2012-07-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
@@ -69,9 +69,12 @@ files:
69
69
  - lib/rspec/mocks.rb
70
70
  - lib/rspec/mocks/any_instance.rb
71
71
  - lib/rspec/mocks/any_instance/chain.rb
72
+ - lib/rspec/mocks/any_instance/expectation_chain.rb
72
73
  - lib/rspec/mocks/any_instance/message_chains.rb
73
74
  - lib/rspec/mocks/any_instance/recorder.rb
74
- - lib/rspec/mocks/argument_expectation.rb
75
+ - lib/rspec/mocks/any_instance/stub_chain.rb
76
+ - lib/rspec/mocks/any_instance/stub_chain_chain.rb
77
+ - lib/rspec/mocks/argument_list_matcher.rb
75
78
  - lib/rspec/mocks/argument_matchers.rb
76
79
  - lib/rspec/mocks/error_generator.rb
77
80
  - lib/rspec/mocks/errors.rb
@@ -89,6 +92,7 @@ files:
89
92
  - lib/rspec/mocks/serialization.rb
90
93
  - lib/rspec/mocks/space.rb
91
94
  - lib/rspec/mocks/standalone.rb
95
+ - lib/rspec/mocks/stub_const.rb
92
96
  - lib/rspec/mocks/test_double.rb
93
97
  - lib/rspec/mocks/version.rb
94
98
  - lib/spec/mocks.rb
@@ -120,6 +124,9 @@ files:
120
124
  - features/outside_rspec/configuration.feature
121
125
  - features/outside_rspec/standalone.feature
122
126
  - features/step_definitions/additional_cli_steps.rb
127
+ - features/stubbing_constants/README.md
128
+ - features/stubbing_constants/stub_defined_constant.feature
129
+ - features/stubbing_constants/stub_undefined_constant.feature
123
130
  - features/support/env.rb
124
131
  - spec/rspec/mocks/and_yield_spec.rb
125
132
  - spec/rspec/mocks/any_instance/message_chains_spec.rb
@@ -158,6 +165,7 @@ files:
158
165
  - spec/rspec/mocks/serialization_spec.rb
159
166
  - spec/rspec/mocks/stash_spec.rb
160
167
  - spec/rspec/mocks/stub_chain_spec.rb
168
+ - spec/rspec/mocks/stub_const_spec.rb
161
169
  - spec/rspec/mocks/stub_implementation_spec.rb
162
170
  - spec/rspec/mocks/stub_spec.rb
163
171
  - spec/rspec/mocks/stubbed_message_expectations_spec.rb
@@ -182,7 +190,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
182
190
  version: '0'
183
191
  segments:
184
192
  - 0
185
- hash: -3514585856622943193
193
+ hash: 1632544807063438503
186
194
  required_rubygems_version: !ruby/object:Gem::Requirement
187
195
  none: false
188
196
  requirements:
@@ -191,13 +199,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
199
  version: '0'
192
200
  segments:
193
201
  - 0
194
- hash: -3514585856622943193
202
+ hash: 1632544807063438503
195
203
  requirements: []
196
204
  rubyforge_project: rspec
197
205
  rubygems_version: 1.8.24
198
206
  signing_key:
199
207
  specification_version: 3
200
- summary: rspec-mocks-2.10.0
208
+ summary: rspec-mocks-2.11.0
201
209
  test_files:
202
210
  - features/README.md
203
211
  - features/Scope.md
@@ -222,6 +230,9 @@ test_files:
222
230
  - features/outside_rspec/configuration.feature
223
231
  - features/outside_rspec/standalone.feature
224
232
  - features/step_definitions/additional_cli_steps.rb
233
+ - features/stubbing_constants/README.md
234
+ - features/stubbing_constants/stub_defined_constant.feature
235
+ - features/stubbing_constants/stub_undefined_constant.feature
225
236
  - features/support/env.rb
226
237
  - spec/rspec/mocks/and_yield_spec.rb
227
238
  - spec/rspec/mocks/any_instance/message_chains_spec.rb
@@ -260,6 +271,7 @@ test_files:
260
271
  - spec/rspec/mocks/serialization_spec.rb
261
272
  - spec/rspec/mocks/stash_spec.rb
262
273
  - spec/rspec/mocks/stub_chain_spec.rb
274
+ - spec/rspec/mocks/stub_const_spec.rb
263
275
  - spec/rspec/mocks/stub_implementation_spec.rb
264
276
  - spec/rspec/mocks/stub_spec.rb
265
277
  - spec/rspec/mocks/stubbed_message_expectations_spec.rb
@@ -1,52 +0,0 @@
1
- module RSpec
2
- module Mocks
3
- # @api private
4
- class ArgumentExpectation
5
- attr_reader :args
6
-
7
- def initialize(*args, &block)
8
- @args = args
9
- @block = args.empty? ? block : nil
10
- @match_any_args = false
11
- @matchers = nil
12
-
13
- case args.first
14
- when ArgumentMatchers::AnyArgsMatcher
15
- @match_any_args = true
16
- when ArgumentMatchers::NoArgsMatcher
17
- @matchers = []
18
- else
19
- @matchers = args.collect {|arg| matcher_for(arg)}
20
- end
21
- end
22
-
23
- def matcher_for(arg)
24
- return ArgumentMatchers::MatcherMatcher.new(arg) if is_matcher?(arg)
25
- return ArgumentMatchers::RegexpMatcher.new(arg) if arg.is_a?(Regexp)
26
- return ArgumentMatchers::EqualityProxy.new(arg)
27
- end
28
-
29
- def is_matcher?(obj)
30
- !obj.null_object? & obj.respond_to?(:matches?) & [:failure_message_for_should, :failure_message].any? { |m| obj.respond_to?(m) }
31
- end
32
-
33
- def args_match?(*args)
34
- match_any_args? || block_passes?(*args) || matchers_match?(*args)
35
- end
36
-
37
- private
38
-
39
- def block_passes?(*args)
40
- @block.call(*args) if @block
41
- end
42
-
43
- def matchers_match?(*args)
44
- @matchers == args
45
- end
46
-
47
- def match_any_args?
48
- @match_any_args
49
- end
50
- end
51
- end
52
- end