mocha 1.6.0 → 1.7.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 (229) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +58 -0
  3. data/.rubocop_todo.yml +50 -0
  4. data/RELEASE.md +7 -0
  5. data/Rakefile +35 -28
  6. data/bin/build-matrix +17 -18
  7. data/lib/mocha/any_instance_method.rb +19 -25
  8. data/lib/mocha/api.rb +1 -5
  9. data/lib/mocha/argument_iterator.rb +4 -8
  10. data/lib/mocha/backtrace_filter.rb +1 -5
  11. data/lib/mocha/cardinality.rb +20 -27
  12. data/lib/mocha/central.rb +7 -15
  13. data/lib/mocha/change_state_side_effect.rb +0 -4
  14. data/lib/mocha/class_method.rb +31 -37
  15. data/lib/mocha/class_methods.rb +5 -13
  16. data/lib/mocha/configuration.rb +3 -9
  17. data/lib/mocha/debug.rb +3 -2
  18. data/lib/mocha/deprecation.rb +4 -11
  19. data/lib/mocha/detection/mini_test.rb +0 -2
  20. data/lib/mocha/detection/test_unit.rb +4 -4
  21. data/lib/mocha/error_with_filtered_backtrace.rb +0 -4
  22. data/lib/mocha/exception_raiser.rb +2 -5
  23. data/lib/mocha/expectation.rb +15 -18
  24. data/lib/mocha/expectation_error.rb +2 -0
  25. data/lib/mocha/expectation_error_factory.rb +0 -1
  26. data/lib/mocha/expectation_list.rb +2 -6
  27. data/lib/mocha/hooks.rb +0 -1
  28. data/lib/mocha/in_state_ordering_constraint.rb +0 -4
  29. data/lib/mocha/inspect.rb +3 -5
  30. data/lib/mocha/instance_method.rb +0 -2
  31. data/lib/mocha/integration.rb +3 -4
  32. data/lib/mocha/integration/mini_test/adapter.rb +2 -4
  33. data/lib/mocha/integration/mini_test/exception_translation.rb +1 -1
  34. data/lib/mocha/integration/mini_test/nothing.rb +4 -4
  35. data/lib/mocha/integration/mini_test/version_13.rb +3 -1
  36. data/lib/mocha/integration/mini_test/version_140.rb +3 -1
  37. data/lib/mocha/integration/mini_test/version_141.rb +3 -1
  38. data/lib/mocha/integration/mini_test/version_142_to_172.rb +3 -1
  39. data/lib/mocha/integration/mini_test/version_200.rb +3 -1
  40. data/lib/mocha/integration/mini_test/version_201_to_222.rb +3 -1
  41. data/lib/mocha/integration/mini_test/version_2110_to_2111.rb +3 -1
  42. data/lib/mocha/integration/mini_test/version_2112_to_320.rb +3 -1
  43. data/lib/mocha/integration/mini_test/version_230_to_2101.rb +3 -1
  44. data/lib/mocha/integration/monkey_patcher.rb +5 -7
  45. data/lib/mocha/integration/test_unit/adapter.rb +5 -6
  46. data/lib/mocha/integration/test_unit/gem_version_200.rb +4 -2
  47. data/lib/mocha/integration/test_unit/gem_version_201_to_202.rb +4 -2
  48. data/lib/mocha/integration/test_unit/gem_version_203_to_220.rb +4 -2
  49. data/lib/mocha/integration/test_unit/gem_version_230_to_250.rb +4 -2
  50. data/lib/mocha/integration/test_unit/nothing.rb +4 -4
  51. data/lib/mocha/integration/test_unit/ruby_version_185_and_below.rb +3 -1
  52. data/lib/mocha/integration/test_unit/ruby_version_186_and_above.rb +3 -1
  53. data/lib/mocha/is_a.rb +0 -2
  54. data/lib/mocha/logger.rb +0 -4
  55. data/lib/mocha/method_matcher.rb +1 -5
  56. data/lib/mocha/minitest.rb +1 -1
  57. data/lib/mocha/mock.rb +25 -30
  58. data/lib/mocha/mockery.rb +27 -43
  59. data/lib/mocha/module_method.rb +0 -2
  60. data/lib/mocha/module_methods.rb +0 -4
  61. data/lib/mocha/multiple_yields.rb +0 -5
  62. data/lib/mocha/names.rb +1 -11
  63. data/lib/mocha/no_yields.rb +1 -7
  64. data/lib/mocha/not_initialized_error.rb +0 -2
  65. data/lib/mocha/object_methods.rb +10 -14
  66. data/lib/mocha/parameter_matchers.rb +0 -2
  67. data/lib/mocha/parameter_matchers/all_of.rb +1 -7
  68. data/lib/mocha/parameter_matchers/any_of.rb +1 -7
  69. data/lib/mocha/parameter_matchers/any_parameters.rb +3 -9
  70. data/lib/mocha/parameter_matchers/anything.rb +2 -8
  71. data/lib/mocha/parameter_matchers/base.rb +6 -12
  72. data/lib/mocha/parameter_matchers/equals.rb +0 -6
  73. data/lib/mocha/parameter_matchers/equivalent_uri.rb +6 -6
  74. data/lib/mocha/parameter_matchers/has_entries.rb +2 -6
  75. data/lib/mocha/parameter_matchers/has_entry.rb +8 -11
  76. data/lib/mocha/parameter_matchers/has_key.rb +2 -6
  77. data/lib/mocha/parameter_matchers/has_value.rb +2 -6
  78. data/lib/mocha/parameter_matchers/includes.rb +2 -6
  79. data/lib/mocha/parameter_matchers/instance_of.rb +0 -6
  80. data/lib/mocha/parameter_matchers/is_a.rb +2 -6
  81. data/lib/mocha/parameter_matchers/kind_of.rb +2 -6
  82. data/lib/mocha/parameter_matchers/not.rb +2 -6
  83. data/lib/mocha/parameter_matchers/object.rb +0 -2
  84. data/lib/mocha/parameter_matchers/optionally.rb +4 -10
  85. data/lib/mocha/parameter_matchers/regexp_matches.rb +0 -6
  86. data/lib/mocha/parameter_matchers/responds_with.rb +3 -8
  87. data/lib/mocha/parameter_matchers/yaml_equivalent.rb +2 -6
  88. data/lib/mocha/parameters_matcher.rb +6 -9
  89. data/lib/mocha/pretty_parameters.rb +0 -4
  90. data/lib/mocha/receivers.rb +6 -12
  91. data/lib/mocha/return_values.rb +3 -7
  92. data/lib/mocha/sequence.rb +4 -9
  93. data/lib/mocha/single_return_value.rb +0 -4
  94. data/lib/mocha/single_yield.rb +0 -5
  95. data/lib/mocha/state_machine.rb +6 -10
  96. data/lib/mocha/stubbing_error.rb +0 -2
  97. data/lib/mocha/test_unit.rb +1 -1
  98. data/lib/mocha/thrower.rb +2 -5
  99. data/lib/mocha/unexpected_invocation.rb +3 -5
  100. data/lib/mocha/version.rb +1 -1
  101. data/lib/mocha/yield_parameters.rb +3 -7
  102. data/mocha.gemspec +34 -58
  103. data/test/acceptance/acceptance_test_helper.rb +0 -4
  104. data/test/acceptance/bug_18914_test.rb +7 -12
  105. data/test/acceptance/bug_21465_test.rb +0 -2
  106. data/test/acceptance/bug_21563_test.rb +0 -2
  107. data/test/acceptance/exception_rescue_test.rb +7 -8
  108. data/test/acceptance/expectations_on_multiple_methods_test.rb +2 -1
  109. data/test/acceptance/expected_invocation_count_test.rb +27 -29
  110. data/test/acceptance/failure_messages_test.rb +3 -5
  111. data/test/acceptance/issue_272_test.rb +0 -1
  112. data/test/acceptance/issue_65_test.rb +15 -13
  113. data/test/acceptance/issue_70_test.rb +0 -1
  114. data/test/acceptance/mocha_example_test.rb +5 -6
  115. data/test/acceptance/mocha_test_result_test.rb +7 -7
  116. data/test/acceptance/mock_test.rb +2 -4
  117. data/test/acceptance/mock_with_initializer_block_test.rb +0 -2
  118. data/test/acceptance/mocked_methods_dispatch_test.rb +0 -2
  119. data/test/acceptance/multiple_expectations_failure_message_test.rb +16 -17
  120. data/test/acceptance/optional_parameters_test.rb +0 -2
  121. data/test/acceptance/parameter_matcher_test.rb +2 -3
  122. data/test/acceptance/partial_mocks_test.rb +4 -6
  123. data/test/acceptance/prepend_test.rb +14 -16
  124. data/test/acceptance/prevent_use_of_mocha_outside_test_test.rb +0 -2
  125. data/test/acceptance/raise_exception_test.rb +2 -4
  126. data/test/acceptance/return_value_test.rb +0 -2
  127. data/test/acceptance/sequence_test.rb +9 -11
  128. data/test/acceptance/states_test.rb +6 -4
  129. data/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +5 -4
  130. data/test/acceptance/stub_any_instance_method_test.rb +19 -17
  131. data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +8 -8
  132. data/test/acceptance/stub_class_method_defined_on_class_test.rb +2 -1
  133. data/test/acceptance/stub_class_method_defined_on_module_test.rb +0 -1
  134. data/test/acceptance/stub_class_method_defined_on_superclass_test.rb +7 -4
  135. data/test/acceptance/stub_everything_test.rb +1 -3
  136. data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +6 -7
  137. data/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +0 -1
  138. data/test/acceptance/stub_instance_method_defined_on_class_test.rb +0 -1
  139. data/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +0 -1
  140. data/test/acceptance/stub_instance_method_defined_on_module_test.rb +0 -1
  141. data/test/acceptance/stub_instance_method_defined_on_object_class_test.rb +2 -1
  142. data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +0 -2
  143. data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +0 -1
  144. data/test/acceptance/stub_module_method_test.rb +13 -13
  145. data/test/acceptance/stub_test.rb +1 -3
  146. data/test/acceptance/stubba_example_test.rb +6 -14
  147. data/test/acceptance/stubba_test_result_test.rb +5 -8
  148. data/test/acceptance/stubbing_error_backtrace_test.rb +2 -2
  149. data/test/acceptance/stubbing_frozen_object_test.rb +2 -1
  150. data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +12 -7
  151. data/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -2
  152. data/test/acceptance/stubbing_nil_test.rb +4 -5
  153. data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +1 -3
  154. data/test/acceptance/stubbing_non_existent_class_method_test.rb +3 -3
  155. data/test/acceptance/stubbing_non_existent_instance_method_test.rb +1 -3
  156. data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -2
  157. data/test/acceptance/stubbing_non_public_class_method_test.rb +3 -3
  158. data/test/acceptance/stubbing_non_public_instance_method_test.rb +1 -3
  159. data/test/acceptance/stubbing_on_non_mock_object_test.rb +4 -10
  160. data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +3 -4
  161. data/test/acceptance/throw_test.rb +0 -2
  162. data/test/acceptance/unexpected_invocation_test.rb +2 -3
  163. data/test/acceptance/unstubbing_test.rb +41 -14
  164. data/test/deprecation_disabler.rb +0 -1
  165. data/test/execution_point.rb +2 -4
  166. data/test/integration/mini_test_test.rb +2 -2
  167. data/test/integration/shared_tests.rb +24 -22
  168. data/test/integration/test_unit_test.rb +2 -2
  169. data/test/method_definer.rb +1 -3
  170. data/test/mini_test_result.rb +17 -11
  171. data/test/minitest_result.rb +0 -1
  172. data/test/simple_counter.rb +0 -2
  173. data/test/test_helper.rb +13 -5
  174. data/test/test_runner.rb +2 -4
  175. data/test/test_unit_result.rb +4 -2
  176. data/test/unit/any_instance_method_test.rb +31 -17
  177. data/test/unit/array_inspect_test.rb +2 -4
  178. data/test/unit/backtrace_filter_test.rb +3 -5
  179. data/test/unit/cardinality_test.rb +0 -2
  180. data/test/unit/central_test.rb +26 -27
  181. data/test/unit/change_state_side_effect_test.rb +0 -4
  182. data/test/unit/class_method_test.rb +59 -34
  183. data/test/unit/class_methods_test.rb +9 -11
  184. data/test/unit/configuration_test.rb +1 -2
  185. data/test/unit/date_time_inspect_test.rb +1 -3
  186. data/test/unit/exception_raiser_test.rb +0 -2
  187. data/test/unit/expectation_list_test.rb +0 -2
  188. data/test/unit/expectation_test.rb +41 -46
  189. data/test/unit/hash_inspect_test.rb +3 -5
  190. data/test/unit/hooks_test.rb +9 -4
  191. data/test/unit/in_state_ordering_constraint_test.rb +0 -4
  192. data/test/unit/method_matcher_test.rb +1 -3
  193. data/test/unit/mock_test.rb +35 -22
  194. data/test/unit/mockery_test.rb +28 -26
  195. data/test/unit/module_methods_test.rb +0 -2
  196. data/test/unit/multiple_yields_test.rb +0 -2
  197. data/test/unit/no_yields_test.rb +0 -2
  198. data/test/unit/object_inspect_test.rb +16 -7
  199. data/test/unit/object_methods_test.rb +6 -8
  200. data/test/unit/parameter_matchers/all_of_test.rb +0 -2
  201. data/test/unit/parameter_matchers/any_of_test.rb +0 -2
  202. data/test/unit/parameter_matchers/anything_test.rb +2 -4
  203. data/test/unit/parameter_matchers/equals_test.rb +1 -3
  204. data/test/unit/parameter_matchers/equivalent_uri_test.rb +0 -1
  205. data/test/unit/parameter_matchers/has_entries_test.rb +2 -2
  206. data/test/unit/parameter_matchers/has_entry_test.rb +13 -14
  207. data/test/unit/parameter_matchers/has_key_test.rb +0 -1
  208. data/test/unit/parameter_matchers/has_value_test.rb +0 -2
  209. data/test/unit/parameter_matchers/includes_test.rb +8 -9
  210. data/test/unit/parameter_matchers/instance_of_test.rb +1 -3
  211. data/test/unit/parameter_matchers/is_a_test.rb +1 -3
  212. data/test/unit/parameter_matchers/kind_of_test.rb +1 -3
  213. data/test/unit/parameter_matchers/not_test.rb +0 -2
  214. data/test/unit/parameter_matchers/regexp_matches_test.rb +1 -2
  215. data/test/unit/parameter_matchers/responds_with_test.rb +9 -3
  216. data/test/unit/parameter_matchers/stub_matcher.rb +0 -4
  217. data/test/unit/parameter_matchers/yaml_equivalent_test.rb +1 -3
  218. data/test/unit/parameters_matcher_test.rb +2 -4
  219. data/test/unit/receivers_test.rb +8 -6
  220. data/test/unit/return_values_test.rb +3 -5
  221. data/test/unit/sequence_test.rb +1 -5
  222. data/test/unit/single_return_value_test.rb +0 -2
  223. data/test/unit/single_yield_test.rb +0 -2
  224. data/test/unit/state_machine_test.rb +1 -3
  225. data/test/unit/string_inspect_test.rb +2 -4
  226. data/test/unit/thrower_test.rb +0 -2
  227. data/test/unit/yield_parameters_test.rb +0 -2
  228. data/yard-templates/default/layout/html/setup.rb +2 -3
  229. metadata +22 -6
@@ -11,11 +11,8 @@ require 'mocha/not_initialized_error'
11
11
  require 'mocha/expectation_error_factory'
12
12
 
13
13
  module Mocha
14
-
15
14
  class Mockery
16
-
17
15
  class Null < self
18
-
19
16
  def add_mock(*)
20
17
  raise_not_initialized_error
21
18
  end
@@ -34,11 +31,9 @@ module Mocha
34
31
  message = 'Mocha methods cannot be used outside the context of a test'
35
32
  raise NotInitializedError.new(message, caller)
36
33
  end
37
-
38
34
  end
39
35
 
40
36
  class << self
41
-
42
37
  def instance
43
38
  instances.last || Null.new
44
39
  end
@@ -65,7 +60,6 @@ module Mocha
65
60
  def instances
66
61
  @instances ||= []
67
62
  end
68
-
69
63
  end
70
64
 
71
65
  def named_mock(name, &block)
@@ -91,18 +85,17 @@ module Mocha
91
85
  def verify(assertion_counter = nil)
92
86
  unless mocks.all? { |mock| mock.__verified__?(assertion_counter) }
93
87
  message = "not all expectations were satisfied\n#{mocha_inspect}"
94
- if unsatisfied_expectations.empty?
95
- backtrace = caller
96
- else
97
- backtrace = unsatisfied_expectations[0].backtrace
98
- end
88
+ backtrace = if unsatisfied_expectations.empty?
89
+ caller
90
+ else
91
+ unsatisfied_expectations[0].backtrace
92
+ end
99
93
  raise ExpectationErrorFactory.build(message, backtrace)
100
94
  end
101
95
  expectations.each do |e|
102
96
  unless Mocha::Configuration.allow?(:stubbing_method_unnecessarily)
103
- unless e.used?
104
- on_stubbing_method_unnecessarily(e)
105
- end
97
+ next if e.used?
98
+ on_stubbing_method_unnecessarily(e)
106
99
  end
107
100
  end
108
101
  end
@@ -125,22 +118,22 @@ module Mocha
125
118
  end
126
119
 
127
120
  def mocha_inspect
128
- message = ""
129
- message << "unsatisfied expectations:\n- #{unsatisfied_expectations.map { |e| e.mocha_inspect }.join("\n- ")}\n" unless unsatisfied_expectations.empty?
130
- message << "satisfied expectations:\n- #{satisfied_expectations.map { |e| e.mocha_inspect }.join("\n- ")}\n" unless satisfied_expectations.empty?
131
- message << "states:\n- #{state_machines.map { |sm| sm.mocha_inspect }.join("\n- ")}" unless state_machines.empty?
121
+ message = ''
122
+ message << "unsatisfied expectations:\n- #{unsatisfied_expectations.map(&:mocha_inspect).join("\n- ")}\n" unless unsatisfied_expectations.empty?
123
+ message << "satisfied expectations:\n- #{satisfied_expectations.map(&:mocha_inspect).join("\n- ")}\n" unless satisfied_expectations.empty?
124
+ message << "states:\n- #{state_machines.map(&:mocha_inspect).join("\n- ")}" unless state_machines.empty?
132
125
  message
133
126
  end
134
127
 
135
128
  def on_stubbing(object, method)
136
129
  method = PRE_RUBY_V19 ? method.to_s : method.to_sym
137
130
  unless Mocha::Configuration.allow?(:stubbing_non_existent_method)
138
- unless object.method_exists?(method, include_public_methods = true)
131
+ unless object.method_exists?(method, true)
139
132
  on_stubbing_non_existent_method(object, method)
140
133
  end
141
134
  end
142
135
  unless Mocha::Configuration.allow?(:stubbing_non_public_method)
143
- if object.method_exists?(method, include_public_methods = false)
136
+ if object.method_exists?(method, false)
144
137
  on_stubbing_non_public_method(object, method)
145
138
  end
146
139
  end
@@ -149,54 +142,48 @@ module Mocha
149
142
  on_stubbing_method_on_nil(object, method)
150
143
  end
151
144
  end
152
- unless Mocha::Configuration.allow?(:stubbing_method_on_non_mock_object)
153
- on_stubbing_method_on_non_mock_object(object, method)
154
- end
145
+ return if Mocha::Configuration.allow?(:stubbing_method_on_non_mock_object)
146
+ on_stubbing_method_on_non_mock_object(object, method)
155
147
  end
156
148
 
157
149
  def on_stubbing_non_existent_method(object, method)
158
150
  if Mocha::Configuration.prevent?(:stubbing_non_existent_method)
159
151
  raise StubbingError.new("stubbing non-existent method: #{object.mocha_inspect}.#{method}", caller)
160
152
  end
161
- if Mocha::Configuration.warn_when?(:stubbing_non_existent_method)
162
- logger.warn "stubbing non-existent method: #{object.mocha_inspect}.#{method}"
163
- end
153
+ return unless Mocha::Configuration.warn_when?(:stubbing_non_existent_method)
154
+ logger.warn "stubbing non-existent method: #{object.mocha_inspect}.#{method}"
164
155
  end
165
156
 
166
157
  def on_stubbing_non_public_method(object, method)
167
158
  if Mocha::Configuration.prevent?(:stubbing_non_public_method)
168
159
  raise StubbingError.new("stubbing non-public method: #{object.mocha_inspect}.#{method}", caller)
169
160
  end
170
- if Mocha::Configuration.warn_when?(:stubbing_non_public_method)
171
- logger.warn "stubbing non-public method: #{object.mocha_inspect}.#{method}"
172
- end
161
+ return unless Mocha::Configuration.warn_when?(:stubbing_non_public_method)
162
+ logger.warn "stubbing non-public method: #{object.mocha_inspect}.#{method}"
173
163
  end
174
164
 
175
165
  def on_stubbing_method_on_nil(object, method)
176
166
  if Mocha::Configuration.prevent?(:stubbing_method_on_nil)
177
167
  raise StubbingError.new("stubbing method on nil: #{object.mocha_inspect}.#{method}", caller)
178
168
  end
179
- if Mocha::Configuration.warn_when?(:stubbing_method_on_nil)
180
- logger.warn "stubbing method on nil: #{object.mocha_inspect}.#{method}"
181
- end
169
+ return unless Mocha::Configuration.warn_when?(:stubbing_method_on_nil)
170
+ logger.warn "stubbing method on nil: #{object.mocha_inspect}.#{method}"
182
171
  end
183
172
 
184
173
  def on_stubbing_method_on_non_mock_object(object, method)
185
174
  if Mocha::Configuration.prevent?(:stubbing_method_on_non_mock_object)
186
175
  raise StubbingError.new("stubbing method on non-mock object: #{object.mocha_inspect}.#{method}", caller)
187
176
  end
188
- if Mocha::Configuration.warn_when?(:stubbing_method_on_non_mock_object)
189
- logger.warn "stubbing method on non-mock object: #{object.mocha_inspect}.#{method}"
190
- end
177
+ return unless Mocha::Configuration.warn_when?(:stubbing_method_on_non_mock_object)
178
+ logger.warn "stubbing method on non-mock object: #{object.mocha_inspect}.#{method}"
191
179
  end
192
180
 
193
181
  def on_stubbing_method_unnecessarily(expectation)
194
182
  if Mocha::Configuration.prevent?(:stubbing_method_unnecessarily)
195
183
  raise StubbingError.new("stubbing method unnecessarily: #{expectation.method_signature}", expectation.backtrace)
196
184
  end
197
- if Mocha::Configuration.warn_when?(:stubbing_method_unnecessarily)
198
- logger.warn "stubbing method unnecessarily: #{expectation.method_signature}"
199
- end
185
+ return unless Mocha::Configuration.warn_when?(:stubbing_method_unnecessarily)
186
+ logger.warn "stubbing method unnecessarily: #{expectation.method_signature}"
200
187
  end
201
188
 
202
189
  attr_writer :logger
@@ -205,7 +192,6 @@ module Mocha
205
192
  @logger ||= Logger.new($stderr)
206
193
  end
207
194
 
208
-
209
195
  private
210
196
 
211
197
  def expectations
@@ -213,11 +199,11 @@ module Mocha
213
199
  end
214
200
 
215
201
  def unsatisfied_expectations
216
- expectations.reject { |e| e.verified? }
202
+ expectations.reject(&:verified?)
217
203
  end
218
204
 
219
205
  def satisfied_expectations
220
- expectations.select { |e| e.verified? }
206
+ expectations.select(&:verified?)
221
207
  end
222
208
 
223
209
  def add_mock(mock)
@@ -235,7 +221,5 @@ module Mocha
235
221
  @mocks = nil
236
222
  @state_machines = nil
237
223
  end
238
-
239
224
  end
240
-
241
225
  end
@@ -1,8 +1,6 @@
1
1
  require 'mocha/class_method'
2
2
 
3
3
  module Mocha
4
-
5
4
  class ModuleMethod < ClassMethod
6
5
  end
7
-
8
6
  end
@@ -1,14 +1,10 @@
1
1
  require 'mocha/module_method'
2
2
 
3
3
  module Mocha
4
-
5
4
  # @private
6
5
  module ModuleMethods
7
-
8
6
  def stubba_method
9
7
  Mocha::ModuleMethod
10
8
  end
11
-
12
9
  end
13
-
14
10
  end
@@ -1,7 +1,5 @@
1
1
  module Mocha
2
-
3
2
  class MultipleYields
4
-
5
3
  attr_reader :parameter_groups
6
4
 
7
5
  def initialize(*parameter_groups)
@@ -13,8 +11,5 @@ module Mocha
13
11
  yield(parameter_group)
14
12
  end
15
13
  end
16
-
17
14
  end
18
-
19
15
  end
20
-
@@ -1,7 +1,5 @@
1
1
  module Mocha
2
-
3
2
  class ImpersonatingName
4
-
5
3
  def initialize(object)
6
4
  @object = object
7
5
  end
@@ -9,11 +7,9 @@ module Mocha
9
7
  def mocha_inspect
10
8
  @object.mocha_inspect
11
9
  end
12
-
13
10
  end
14
11
 
15
12
  class ImpersonatingAnyInstanceName
16
-
17
13
  def initialize(klass)
18
14
  @klass = klass
19
15
  end
@@ -21,11 +17,9 @@ module Mocha
21
17
  def mocha_inspect
22
18
  "#<AnyInstance:#{@klass.mocha_inspect}>"
23
19
  end
24
-
25
20
  end
26
21
 
27
22
  class Name
28
-
29
23
  def initialize(name)
30
24
  @name = name
31
25
  end
@@ -33,11 +27,9 @@ module Mocha
33
27
  def mocha_inspect
34
28
  "#<Mock:#{@name}>"
35
29
  end
36
-
37
30
  end
38
31
 
39
32
  class DefaultName
40
-
41
33
  def initialize(mock)
42
34
  @mock = mock
43
35
  end
@@ -45,9 +37,7 @@ module Mocha
45
37
  def mocha_inspect
46
38
  address = @mock.__id__ * 2
47
39
  address += 0x100000000 if address < 0
48
- "#<Mock:0x#{'%x' % address}>"
40
+ "#<Mock:0x#{format('%x', address)}>"
49
41
  end
50
-
51
42
  end
52
-
53
43
  end
@@ -1,11 +1,5 @@
1
1
  module Mocha
2
-
3
2
  class NoYields
4
-
5
- def each
6
- end
7
-
3
+ def each; end
8
4
  end
9
-
10
5
  end
11
-
@@ -1,9 +1,7 @@
1
1
  require 'mocha/error_with_filtered_backtrace'
2
2
 
3
3
  module Mocha
4
-
5
4
  # Exception raised when Mocha has not been initialized, e.g. outside the
6
5
  # context of a test.
7
6
  class NotInitializedError < ErrorWithFilteredBacktrace; end
8
-
9
7
  end
@@ -4,12 +4,10 @@ require 'mocha/argument_iterator'
4
4
  require 'mocha/expectation_error_factory'
5
5
 
6
6
  module Mocha
7
-
8
7
  # Methods added to all objects to allow mocking and stubbing on real (i.e. non-mock) objects.
9
8
  #
10
9
  # Both {#expects} and {#stubs} return an {Expectation} which can be further modified by methods on {Expectation}.
11
10
  module ObjectMethods
12
-
13
11
  # @private
14
12
  alias_method :_method, :method
15
13
 
@@ -75,14 +73,14 @@ module Mocha
75
73
  expectation = nil
76
74
  mockery = Mocha::Mockery.instance
77
75
  iterator = ArgumentIterator.new(expected_methods_vs_return_values)
78
- iterator.each { |*args|
76
+ iterator.each do |*args|
79
77
  method_name = args.shift
80
78
  mockery.on_stubbing(self, method_name)
81
79
  method = stubba_method.new(stubba_object, method_name)
82
80
  mockery.stubba.stub(method)
83
81
  expectation = mocha.expects(method_name, caller)
84
- expectation.returns(args.shift) if args.length > 0
85
- }
82
+ expectation.returns(args.shift) unless args.empty?
83
+ end
86
84
  expectation
87
85
  end
88
86
 
@@ -121,14 +119,14 @@ module Mocha
121
119
  expectation = nil
122
120
  mockery = Mocha::Mockery.instance
123
121
  iterator = ArgumentIterator.new(stubbed_methods_vs_return_values)
124
- iterator.each { |*args|
122
+ iterator.each do |*args|
125
123
  method_name = args.shift
126
124
  mockery.on_stubbing(self, method_name)
127
125
  method = stubba_method.new(stubba_object, method_name)
128
126
  mockery.stubba.stub(method)
129
127
  expectation = mocha.stubs(method_name, caller)
130
- expectation.returns(args.shift) if args.length > 0
131
- }
128
+ expectation.returns(args.shift) unless args.empty?
129
+ end
132
130
  expectation
133
131
  end
134
132
 
@@ -166,14 +164,12 @@ module Mocha
166
164
  # @private
167
165
  def method_exists?(method, include_public_methods = true)
168
166
  if include_public_methods
169
- return true if public_methods(include_superclass_methods = true).include?(method)
167
+ return true if public_methods(true).include?(method)
170
168
  return true if respond_to?(method.to_sym)
171
169
  end
172
- return true if protected_methods(include_superclass_methods = true).include?(method)
173
- return true if private_methods(include_superclass_methods = true).include?(method)
174
- return false
170
+ return true if protected_methods(true).include?(method)
171
+ return true if private_methods(true).include?(method)
172
+ false
175
173
  end
176
-
177
174
  end
178
-
179
175
  end
@@ -1,8 +1,6 @@
1
1
  module Mocha
2
-
3
2
  # Used as parameters for {Expectation#with} to restrict the parameter values which will match the expectation. Can be nested.
4
3
  module ParameterMatchers; end
5
-
6
4
  end
7
5
 
8
6
  require 'mocha/parameter_matchers/object'
@@ -1,9 +1,7 @@
1
1
  require 'mocha/parameter_matchers/base'
2
2
 
3
3
  module Mocha
4
-
5
4
  module ParameterMatchers
6
-
7
5
  # Matches if all +matchers+ match.
8
6
  #
9
7
  # @param [*Array<Base>] parameter_matchers parameter matchers.
@@ -28,7 +26,6 @@ module Mocha
28
26
 
29
27
  # Parameter matcher which combines a number of other matchers using a logical AND.
30
28
  class AllOf < Base
31
-
32
29
  # @private
33
30
  def initialize(*matchers)
34
31
  @matchers = matchers
@@ -42,11 +39,8 @@ module Mocha
42
39
 
43
40
  # @private
44
41
  def mocha_inspect
45
- "all_of(#{@matchers.map { |matcher| matcher.mocha_inspect }.join(", ") })"
42
+ "all_of(#{@matchers.map(&:mocha_inspect).join(', ')})"
46
43
  end
47
-
48
44
  end
49
-
50
45
  end
51
-
52
46
  end
@@ -1,9 +1,7 @@
1
1
  require 'mocha/parameter_matchers/base'
2
2
 
3
3
  module Mocha
4
-
5
4
  module ParameterMatchers
6
-
7
5
  # Matches if any +matchers+ match.
8
6
  #
9
7
  # @param [*Array<Base>] parameter_matchers parameter matchers.
@@ -34,7 +32,6 @@ module Mocha
34
32
 
35
33
  # Parameter matcher which combines a number of other matchers using a logical OR.
36
34
  class AnyOf < Base
37
-
38
35
  # @private
39
36
  def initialize(*matchers)
40
37
  @matchers = matchers
@@ -48,11 +45,8 @@ module Mocha
48
45
 
49
46
  # @private
50
47
  def mocha_inspect
51
- "any_of(#{@matchers.map { |matcher| matcher.mocha_inspect }.join(", ") })"
48
+ "any_of(#{@matchers.map(&:mocha_inspect).join(', ')})"
52
49
  end
53
-
54
50
  end
55
-
56
51
  end
57
-
58
52
  end
@@ -1,9 +1,7 @@
1
1
  require 'mocha/parameter_matchers/base'
2
2
 
3
3
  module Mocha
4
-
5
4
  module ParameterMatchers
6
-
7
5
  # Matches any parameters. This is used as the default for a newly built expectation.
8
6
  #
9
7
  # @return [AnyParameters] parameter matcher.
@@ -26,22 +24,18 @@ module Mocha
26
24
 
27
25
  # Parameter matcher which always matches whatever the parameters.
28
26
  class AnyParameters < Base
29
-
30
27
  # @private
31
28
  def matches?(available_parameters)
32
- while available_parameters.length > 0 do
29
+ until available_parameters.empty?
33
30
  available_parameters.shift
34
31
  end
35
- return true
32
+ true
36
33
  end
37
34
 
38
35
  # @private
39
36
  def mocha_inspect
40
- "any_parameters"
37
+ 'any_parameters'
41
38
  end
42
-
43
39
  end
44
-
45
40
  end
46
-
47
41
  end