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,7 +11,7 @@ module Mocha
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for MiniTest gem v2.0.0"
14
+ 'monkey patch for MiniTest gem v2.0.0'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run runner
23
24
  trap 'INFO' do
24
25
  time = Time.now - runner.start_time
@@ -57,6 +58,7 @@ module Mocha
57
58
  end
58
59
  result
59
60
  end
61
+ # rubocop:enable all
60
62
  end
61
63
  end
62
64
  end
@@ -11,7 +11,7 @@ module Mocha
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for MiniTest gem >= v2.0.1 <= v2.2.2"
14
+ 'monkey patch for MiniTest gem >= v2.0.1 <= v2.2.2'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run runner
23
24
  trap 'INFO' do
24
25
  time = runner.start_time ? Time.now - runner.start_time : 0
@@ -57,6 +58,7 @@ module Mocha
57
58
  end
58
59
  result
59
60
  end
61
+ # rubocop:enable all
60
62
  end
61
63
  end
62
64
  end
@@ -11,7 +11,7 @@ module Mocha
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for MiniTest gem >= v2.11.0 <= v2.11.1"
14
+ 'monkey patch for MiniTest gem >= v2.11.0 <= v2.11.1'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run runner
23
24
  trap 'INFO' do
24
25
  time = runner.start_time ? Time.now - runner.start_time : 0
@@ -61,6 +62,7 @@ module Mocha
61
62
  end
62
63
  result
63
64
  end
65
+ # rubocop:enable all
64
66
  end
65
67
  end
66
68
  end
@@ -11,7 +11,7 @@ module Mocha
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for MiniTest gem >= v2.11.2 <= v3.2.0"
14
+ 'monkey patch for MiniTest gem >= v2.11.2 <= v3.2.0'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run runner
23
24
  trap "INFO" do
24
25
  runner.report.each_with_index do |msg, i|
@@ -64,6 +65,7 @@ module Mocha
64
65
  end
65
66
  result
66
67
  end
68
+ # rubocop:enable all
67
69
  end
68
70
  end
69
71
  end
@@ -11,7 +11,7 @@ module Mocha
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for MiniTest gem >= v2.3.0 <= v2.10.1"
14
+ 'monkey patch for MiniTest gem >= v2.3.0 <= v2.10.1'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run runner
23
24
  trap 'INFO' do
24
25
  time = runner.start_time ? Time.now - runner.start_time : 0
@@ -59,6 +60,7 @@ module Mocha
59
60
  end
60
61
  result
61
62
  end
63
+ # rubocop:enable all
62
64
  end
63
65
  end
64
66
  end
@@ -11,14 +11,12 @@ module Mocha
11
11
  end
12
12
  if mod.method_defined?(:run_before_mocha)
13
13
  Debug.puts "#{mod}#run_before_mocha method already defined"
14
+ elsif mod.method_defined?(:run)
15
+ mod.send(:alias_method, :run_before_mocha, :run)
16
+ mod.send(:remove_method, :run)
17
+ mod.send(:include, run_method_patch)
14
18
  else
15
- if mod.method_defined?(:run)
16
- mod.send(:alias_method, :run_before_mocha, :run)
17
- mod.send(:remove_method, :run)
18
- mod.send(:include, run_method_patch)
19
- else
20
- raise "Unable to monkey-patch #{mod}, because it does not define a `#run` method"
21
- end
19
+ raise "Unable to monkey-patch #{mod}, because it does not define a `#run` method"
22
20
  end
23
21
  end
24
22
  end
@@ -5,7 +5,6 @@ require 'mocha/expectation_error'
5
5
  module Mocha
6
6
  module Integration
7
7
  module TestUnit
8
-
9
8
  # Integrates Mocha into recent versions of Test::Unit.
10
9
  #
11
10
  # See the source code for an example of how to integrate Mocha into a test library.
@@ -13,13 +12,13 @@ module Mocha
13
12
  include Mocha::API
14
13
 
15
14
  # @private
16
- def self.applicable_to?(test_unit_version, ruby_version = nil)
15
+ def self.applicable_to?(test_unit_version, _ruby_version = nil)
17
16
  Gem::Requirement.new('>= 2.5.1').satisfied_by?(test_unit_version)
18
17
  end
19
18
 
20
19
  # @private
21
20
  def self.description
22
- "adapter for Test::Unit gem >= v2.5.1"
21
+ 'adapter for Test::Unit gem >= v2.5.1'
23
22
  end
24
23
 
25
24
  # @private
@@ -39,10 +38,10 @@ module Mocha
39
38
  private
40
39
 
41
40
  # @private
42
- def handle_mocha_expectation_error(e)
43
- return false unless e.is_a?(Mocha::ExpectationError)
41
+ def handle_mocha_expectation_error(exception)
42
+ return false unless exception.is_a?(Mocha::ExpectationError)
44
43
  problem_occurred
45
- add_failure(e.message, e.backtrace)
44
+ add_failure(exception.message, exception.backtrace)
46
45
  true
47
46
  end
48
47
  end
@@ -6,12 +6,12 @@ module Mocha
6
6
  module Integration
7
7
  module TestUnit
8
8
  module GemVersion200
9
- def self.applicable_to?(test_unit_version, ruby_version = nil)
9
+ def self.applicable_to?(test_unit_version, _ruby_version = nil)
10
10
  Gem::Requirement.new('2.0.0').satisfied_by?(test_unit_version)
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for Test::Unit gem v2.0.0"
14
+ 'monkey patch for Test::Unit gem v2.0.0'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run(result)
23
24
  assertion_counter = AssertionCounter.new(self)
24
25
  begin
@@ -53,6 +54,7 @@ module Mocha
53
54
  @_result = nil
54
55
  end
55
56
  end
57
+ # rubocop:enable all
56
58
  end
57
59
  end
58
60
  end
@@ -6,12 +6,12 @@ module Mocha
6
6
  module Integration
7
7
  module TestUnit
8
8
  module GemVersion201To202
9
- def self.applicable_to?(test_unit_version, ruby_version = nil)
9
+ def self.applicable_to?(test_unit_version, _ruby_version = nil)
10
10
  Gem::Requirement.new('>= 2.0.1', '<= 2.0.2').satisfied_by?(test_unit_version)
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for Test::Unit gem >= v2.0.1 and <= v2.0.2"
14
+ 'monkey patch for Test::Unit gem >= v2.0.1 and <= v2.0.2'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run(result)
23
24
  assertion_counter = AssertionCounter.new(self)
24
25
  begin
@@ -53,6 +54,7 @@ module Mocha
53
54
  @_result = nil
54
55
  end
55
56
  end
57
+ # rubocop:enable all
56
58
  end
57
59
  end
58
60
  end
@@ -6,12 +6,12 @@ module Mocha
6
6
  module Integration
7
7
  module TestUnit
8
8
  module GemVersion203To220
9
- def self.applicable_to?(test_unit_version, ruby_version = nil)
9
+ def self.applicable_to?(test_unit_version, _ruby_version = nil)
10
10
  Gem::Requirement.new('>= 2.0.3', '<= 2.2.0').satisfied_by?(test_unit_version)
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for Test::Unit gem >= v2.0.3 and <= v2.2.0"
14
+ 'monkey patch for Test::Unit gem >= v2.0.3 and <= v2.2.0'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run(result)
23
24
  assertion_counter = AssertionCounter.new(self)
24
25
  begin
@@ -53,6 +54,7 @@ module Mocha
53
54
  # @_result = nil # For test-spec's after_all :<
54
55
  end
55
56
  end
57
+ # rubocop:enable all
56
58
  end
57
59
  end
58
60
  end
@@ -6,12 +6,12 @@ module Mocha
6
6
  module Integration
7
7
  module TestUnit
8
8
  module GemVersion230To250
9
- def self.applicable_to?(test_unit_version, ruby_version = nil)
9
+ def self.applicable_to?(test_unit_version, _ruby_version = nil)
10
10
  Gem::Requirement.new('>= 2.3.0', '<= 2.5.0').satisfied_by?(test_unit_version)
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for Test::Unit gem >= v2.3.0 and <= v2.5.0"
14
+ 'monkey patch for Test::Unit gem >= v2.3.0 and <= v2.5.0'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run(result)
23
24
  assertion_counter = AssertionCounter.new(self)
24
25
  begin
@@ -59,6 +60,7 @@ module Mocha
59
60
  # @_result = nil # For test-spec's after_all :<
60
61
  end
61
62
  end
63
+ # rubocop:enable all
62
64
  end
63
65
  end
64
66
  end
@@ -2,16 +2,16 @@ module Mocha
2
2
  module Integration
3
3
  module TestUnit
4
4
  module Nothing
5
- def self.applicable_to?(test_unit_version, ruby_version = nil)
5
+ def self.applicable_to?(_test_unit_version, _ruby_version = nil)
6
6
  true
7
7
  end
8
8
 
9
9
  def self.description
10
- "nothing (no Test::Unit integration available)"
10
+ 'nothing (no Test::Unit integration available)'
11
11
  end
12
12
 
13
- def self.included(mod)
14
- raise "No Test::Unit integration available"
13
+ def self.included(_mod)
14
+ raise 'No Test::Unit integration available'
15
15
  end
16
16
  end
17
17
  end
@@ -11,7 +11,7 @@ module Mocha
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for standard library in Ruby <= v1.8.5"
14
+ 'monkey patch for standard library in Ruby <= v1.8.5'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run(result)
23
24
  assertion_counter = AssertionCounter.new(self)
24
25
  yield(Test::Unit::TestCase::STARTED, name)
@@ -52,6 +53,7 @@ module Mocha
52
53
  result.add_run
53
54
  yield(Test::Unit::TestCase::FINISHED, name)
54
55
  end
56
+ # rubocop:enable all
55
57
  end
56
58
  end
57
59
  end
@@ -11,7 +11,7 @@ module Mocha
11
11
  end
12
12
 
13
13
  def self.description
14
- "monkey patch for standard library Test::Unit in Ruby >= v1.8.6"
14
+ 'monkey patch for standard library Test::Unit in Ruby >= v1.8.6'
15
15
  end
16
16
 
17
17
  def self.included(mod)
@@ -19,6 +19,7 @@ module Mocha
19
19
  end
20
20
 
21
21
  module RunMethodPatch
22
+ # rubocop:disable all
22
23
  def run(result)
23
24
  assertion_counter = AssertionCounter.new(self)
24
25
  yield(Test::Unit::TestCase::STARTED, name)
@@ -54,6 +55,7 @@ module Mocha
54
55
  result.add_run
55
56
  yield(Test::Unit::TestCase::FINISHED, name)
56
57
  end
58
+ # rubocop:enable all
57
59
  end
58
60
  end
59
61
  end
@@ -1,9 +1,7 @@
1
1
  class Object
2
-
3
2
  # :stopdoc:
4
3
 
5
4
  alias_method :__is_a__, :is_a?
6
5
 
7
6
  # :startdoc:
8
-
9
7
  end
@@ -1,7 +1,5 @@
1
1
  module Mocha
2
-
3
2
  class Logger
4
-
5
3
  def initialize(io)
6
4
  @io = io
7
5
  end
@@ -9,7 +7,5 @@ module Mocha
9
7
  def warn(message)
10
8
  @io.puts "WARNING: #{message}"
11
9
  end
12
-
13
10
  end
14
-
15
11
  end
@@ -1,7 +1,5 @@
1
1
  module Mocha
2
-
3
2
  class MethodMatcher
4
-
5
3
  attr_reader :expected_method_name
6
4
 
7
5
  def initialize(expected_method_name)
@@ -13,9 +11,7 @@ module Mocha
13
11
  end
14
12
 
15
13
  def mocha_inspect
16
- "#{@expected_method_name}"
14
+ @expected_method_name.to_s
17
15
  end
18
-
19
16
  end
20
-
21
17
  end
@@ -1,3 +1,3 @@
1
- require "mocha/integration/mini_test"
1
+ require 'mocha/integration/mini_test'
2
2
 
3
3
  Mocha::Integration::MiniTest.activate
@@ -12,7 +12,6 @@ require 'mocha/deprecation'
12
12
  require 'mocha/ruby_version'
13
13
 
14
14
  module Mocha
15
-
16
15
  # Traditional mock object.
17
16
  #
18
17
  # All methods return an {Expectation} which can be further modified by
@@ -69,7 +68,6 @@ module Mocha
69
68
  # different mock objects, use the {Expectation#in_sequence} method to
70
69
  # explicitly define a total or partial ordering of invocations.
71
70
  class Mock
72
-
73
71
  # Adds an expectation that the specified method must be called exactly once with any parameters.
74
72
  #
75
73
  # @param [Symbol,String] method_name name of expected method
@@ -106,13 +104,13 @@ module Mocha
106
104
  # object.expects(:expected_method_two).returns(:result_two)
107
105
  def expects(method_name_or_hash, backtrace = nil)
108
106
  iterator = ArgumentIterator.new(method_name_or_hash)
109
- iterator.each { |*args|
107
+ iterator.each do |*args|
110
108
  method_name = args.shift
111
109
  ensure_method_not_already_defined(method_name)
112
110
  expectation = Expectation.new(self, method_name, backtrace)
113
- expectation.returns(args.shift) if args.length > 0
111
+ expectation.returns(args.shift) unless args.empty?
114
112
  @expectations.add(expectation)
115
- }
113
+ end
116
114
  end
117
115
 
118
116
  # Adds an expectation that the specified method may be called any number of times with any parameters.
@@ -142,14 +140,14 @@ module Mocha
142
140
  # object.stubs(:stubbed_method_two).returns(:result_two)
143
141
  def stubs(method_name_or_hash, backtrace = nil)
144
142
  iterator = ArgumentIterator.new(method_name_or_hash)
145
- iterator.each { |*args|
143
+ iterator.each do |*args|
146
144
  method_name = args.shift
147
145
  ensure_method_not_already_defined(method_name)
148
146
  expectation = Expectation.new(self, method_name, backtrace)
149
147
  expectation.at_least(0)
150
- expectation.returns(args.shift) if args.length > 0
148
+ expectation.returns(args.shift) unless args.empty?
151
149
  @expectations.add(expectation)
152
- }
150
+ end
153
151
  end
154
152
 
155
153
  # Removes the specified stubbed method (added by calls to {#expects} or {#stubs}) and all expectations associated with it.
@@ -261,10 +259,9 @@ module Mocha
261
259
  @everything_stubbed = false
262
260
  @responder = nil
263
261
  @unexpected_invocation = nil
264
- if block
265
- Deprecation.warning('Passing a block is deprecated. Use Object#tap or define stubs/expectations with an explicit receiver instead.')
266
- instance_eval(&block)
267
- end
262
+ return unless block
263
+ Deprecation.warning('Passing a block is deprecated. Use Object#tap or define stubs/expectations with an explicit receiver instead.')
264
+ instance_eval(&block)
268
265
  end
269
266
 
270
267
  # @private
@@ -293,30 +290,30 @@ module Mocha
293
290
  end
294
291
 
295
292
  # @private
293
+ # rubocop:disable Style/MethodMissingSuper
296
294
  def method_missing(symbol, *arguments, &block)
297
- if @responder and not @responder.respond_to?(symbol)
298
- raise NoMethodError, "undefined method `#{symbol}' for #{self.mocha_inspect} which responds like #{@responder.mocha_inspect}"
295
+ if @responder && !@responder.respond_to?(symbol)
296
+ raise NoMethodError, "undefined method `#{symbol}' for #{mocha_inspect} which responds like #{@responder.mocha_inspect}"
299
297
  end
300
- if matching_expectation_allowing_invocation = all_expectations.match_allowing_invocation(symbol, *arguments)
298
+ if (matching_expectation_allowing_invocation = all_expectations.match_allowing_invocation(symbol, *arguments))
301
299
  matching_expectation_allowing_invocation.invoke(&block)
302
- else
303
- if (matching_expectation = all_expectations.match(symbol, *arguments)) || (!matching_expectation && !@everything_stubbed)
304
- if @unexpected_invocation.nil?
305
- @unexpected_invocation = UnexpectedInvocation.new(self, symbol, *arguments)
306
- matching_expectation.invoke(&block) if matching_expectation
307
- message = @unexpected_invocation.full_description
308
- message << @mockery.mocha_inspect
309
- else
310
- message = @unexpected_invocation.short_description
311
- end
312
- raise ExpectationErrorFactory.build(message, caller)
300
+ elsif (matching_expectation = all_expectations.match(symbol, *arguments)) || (!matching_expectation && !@everything_stubbed)
301
+ if @unexpected_invocation.nil?
302
+ @unexpected_invocation = UnexpectedInvocation.new(self, symbol, *arguments)
303
+ matching_expectation.invoke(&block) if matching_expectation
304
+ message = @unexpected_invocation.full_description
305
+ message << @mockery.mocha_inspect
306
+ else
307
+ message = @unexpected_invocation.short_description
313
308
  end
309
+ raise ExpectationErrorFactory.build(message, caller)
314
310
  end
315
311
  end
312
+ # rubocop:enable Style/MethodMissingSuper
316
313
 
317
314
  # @private
318
315
  def respond_to_missing?(symbol, include_private = false)
319
- if @responder then
316
+ if @responder
320
317
  if @responder.method(:respond_to?).arity > 1
321
318
  @responder.respond_to?(symbol, include_private)
322
319
  else
@@ -351,14 +348,12 @@ module Mocha
351
348
 
352
349
  # @private
353
350
  def ensure_method_not_already_defined(method_name)
354
- self.__metaclass__.send(:undef_method, method_name) if self.__metaclass__.method_defined?(method_name) || self.__metaclass__.private_method_defined?(method_name)
351
+ __metaclass__.send(:undef_method, method_name) if __metaclass__.method_defined?(method_name) || __metaclass__.private_method_defined?(method_name)
355
352
  end
356
353
 
357
354
  # @private
358
355
  def any_expectations?
359
356
  @expectations.any?
360
357
  end
361
-
362
358
  end
363
-
364
359
  end