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
@@ -2,15 +2,13 @@ require File.expand_path('../../test_helper', __FILE__)
2
2
  require 'mocha/inspect'
3
3
 
4
4
  class HashInspectTest < Mocha::TestCase
5
-
6
5
  def test_should_keep_spacing_between_key_value
7
- hash = {:a => true}
6
+ hash = { :a => true }
8
7
  assert_equal '{:a => true}', hash.mocha_inspect
9
8
  end
10
9
 
11
10
  def test_should_use_mocha_inspect_on_each_item
12
- hash = {:a => 'mocha'}
13
- assert_equal %{{:a => "mocha"}}, hash.mocha_inspect
11
+ hash = { :a => 'mocha' }
12
+ assert_equal %({:a => "mocha"}), hash.mocha_inspect
14
13
  end
15
-
16
14
  end
@@ -3,18 +3,19 @@ require 'mocha/hooks'
3
3
  require 'mocha/mockery'
4
4
 
5
5
  class HooksTest < Mocha::TestCase
6
+ # rubocop:disable Style/ClassAndModuleChildren
6
7
  class Mocha::Mockery
7
8
  class << self
8
9
  attr_writer :instances
9
10
  end
10
11
  end
12
+ # rubocop:enable Style/ClassAndModuleChildren
11
13
 
12
14
  class FakeMockery
13
- def verify(*args)
14
- end
15
+ def verify(*args); end
15
16
 
16
17
  def teardown
17
- raise "exception within Mockery#teardown"
18
+ raise 'exception within Mockery#teardown'
18
19
  end
19
20
  end
20
21
 
@@ -23,7 +24,11 @@ class HooksTest < Mocha::TestCase
23
24
  mockery = FakeMockery.new
24
25
  Mocha::Mockery.instances = [mockery]
25
26
 
26
- fake_test_case.mocha_teardown rescue nil
27
+ begin
28
+ fake_test_case.mocha_teardown
29
+ rescue StandardError
30
+ nil
31
+ end
27
32
 
28
33
  assert_kind_of Mocha::Mockery::Null, Mocha::Mockery.instance
29
34
  end
@@ -3,11 +3,9 @@ require File.expand_path('../../test_helper', __FILE__)
3
3
  require 'mocha/in_state_ordering_constraint'
4
4
 
5
5
  class InStateOrderingConstraintTest < Mocha::TestCase
6
-
7
6
  include Mocha
8
7
 
9
8
  class FakeStatePredicate
10
-
11
9
  attr_writer :active, :description
12
10
 
13
11
  def active?
@@ -17,7 +15,6 @@ class InStateOrderingConstraintTest < Mocha::TestCase
17
15
  def mocha_inspect
18
16
  @description
19
17
  end
20
-
21
18
  end
22
19
 
23
20
  def test_should_allow_invocation_when_state_is_active
@@ -39,5 +36,4 @@ class InStateOrderingConstraintTest < Mocha::TestCase
39
36
 
40
37
  assert_equal 'when the-state-predicate', ordering_constraint.mocha_inspect
41
38
  end
42
-
43
39
  end
@@ -2,7 +2,6 @@ require File.expand_path('../../test_helper', __FILE__)
2
2
  require 'mocha/method_matcher'
3
3
 
4
4
  class MethodMatcherTest < Mocha::TestCase
5
-
6
5
  include Mocha
7
6
 
8
7
  def test_should_match_if_actual_method_name_is_same_as_expected_method_name
@@ -22,7 +21,6 @@ class MethodMatcherTest < Mocha::TestCase
22
21
 
23
22
  def test_should_describe_what_method_is_expected
24
23
  method_matcher = MethodMatcher.new(:method_name)
25
- assert_equal "method_name", method_matcher.mocha_inspect
24
+ assert_equal 'method_name', method_matcher.mocha_inspect
26
25
  end
27
-
28
26
  end
@@ -6,22 +6,21 @@ require 'set'
6
6
  require 'simple_counter'
7
7
 
8
8
  class MockTest < Mocha::TestCase
9
-
10
9
  include Mocha
11
10
 
12
11
  def test_should_set_single_expectation
13
- mock = build_mock
14
- mock.expects(:method1).returns(1)
15
- assert_nothing_raised(ExpectationErrorFactory.exception_class) do
16
- assert_equal 1, mock.method1
17
- end
12
+ mock = build_mock
13
+ mock.expects(:method1).returns(1)
14
+ assert_nothing_raised(ExpectationErrorFactory.exception_class) do
15
+ assert_equal 1, mock.method1
16
+ end
18
17
  end
19
18
 
20
19
  def test_should_build_and_store_expectations
21
- mock = build_mock
22
- expectation = mock.expects(:method1)
23
- assert_not_nil expectation
24
- assert_equal [expectation], mock.__expectations__.to_a
20
+ mock = build_mock
21
+ expectation = mock.expects(:method1)
22
+ assert_not_nil expectation
23
+ assert_equal [expectation], mock.__expectations__.to_a
25
24
  end
26
25
 
27
26
  def test_should_not_stub_everything_by_default
@@ -45,10 +44,24 @@ class MockTest < Mocha::TestCase
45
44
  assert_equal true, mock.eql?(mock)
46
45
  end
47
46
 
48
- if PRE_RUBY_V19
49
- OBJECT_METHODS = STANDARD_OBJECT_PUBLIC_INSTANCE_METHODS.reject { |m| m =~ /^__.*__$/ || ["method_missing", "singleton_method_undefined", "initialize"].include?(m)}
50
- else
51
- OBJECT_METHODS = STANDARD_OBJECT_PUBLIC_INSTANCE_METHODS.reject { |m| m =~ /^__.*__$/ || [:object_id, :method_missing, :singleton_method_undefined, :initialize, :String, :singleton_method_added].include?(m) }
47
+ EXCLUDED_METHODS = {
48
+ true => %w[
49
+ method_missing
50
+ singleton_method_undefined
51
+ initialize
52
+ ],
53
+ false => [
54
+ :object_id,
55
+ :method_missing,
56
+ :singleton_method_undefined,
57
+ :initialize,
58
+ :String,
59
+ :singleton_method_added
60
+ ]
61
+ }.freeze
62
+
63
+ OBJECT_METHODS = STANDARD_OBJECT_PUBLIC_INSTANCE_METHODS.reject do |m|
64
+ m =~ /^__.*__$/ || EXCLUDED_METHODS[PRE_RUBY_V19].include?(m)
52
65
  end
53
66
 
54
67
  def test_should_be_able_to_mock_standard_object_methods
@@ -149,7 +162,7 @@ class MockTest < Mocha::TestCase
149
162
  parameters_for_yield = [1, 2, 3]
150
163
  mock.expects(:method1).yields(*parameters_for_yield)
151
164
  yielded_parameters = nil
152
- mock.method1() { |*parameters| yielded_parameters = parameters }
165
+ mock.method1 { |*parameters| yielded_parameters = parameters }
153
166
  assert_equal parameters_for_yield, yielded_parameters
154
167
  end
155
168
 
@@ -228,7 +241,7 @@ class MockTest < Mocha::TestCase
228
241
 
229
242
  def test_should_respond_to_methods_which_the_responder_does_responds_to
230
243
  instance = Class.new do
231
- define_method(:respond_to?) { |symbol| true }
244
+ define_method(:respond_to?) { |_symbol| true }
232
245
  end.new
233
246
  mock = build_mock
234
247
  mock.responds_like(instance)
@@ -237,7 +250,7 @@ class MockTest < Mocha::TestCase
237
250
 
238
251
  def test_should_not_respond_to_methods_which_the_responder_does_not_responds_to
239
252
  instance = Class.new do
240
- define_method(:respond_to?) { |symbol| false }
253
+ define_method(:respond_to?) { |_symbol| false }
241
254
  end.new
242
255
  mock = build_mock
243
256
  mock.responds_like(instance)
@@ -246,7 +259,7 @@ class MockTest < Mocha::TestCase
246
259
 
247
260
  def test_should_respond_to_methods_which_the_responder_instance_does_responds_to
248
261
  klass = Class.new do
249
- define_method(:respond_to?) { |symbol| true }
262
+ define_method(:respond_to?) { |_symbol| true }
250
263
  end
251
264
  mock = build_mock
252
265
  mock.responds_like_instance_of(klass)
@@ -255,7 +268,7 @@ class MockTest < Mocha::TestCase
255
268
 
256
269
  def test_should_not_respond_to_methods_which_the_responder_instance_does_not_responds_to
257
270
  klass = Class.new do
258
- define_method(:respond_to?) { |symbol| false }
271
+ define_method(:respond_to?) { |_symbol| false }
259
272
  end
260
273
  mock = build_mock
261
274
  mock.responds_like_instance_of(klass)
@@ -280,7 +293,7 @@ class MockTest < Mocha::TestCase
280
293
 
281
294
  def test_should_not_raise_no_method_error_if_responder_does_respond_to_invoked_method
282
295
  instance = Class.new do
283
- define_method(:respond_to?) { |symbol| true }
296
+ define_method(:respond_to?) { |_symbol| true }
284
297
  end.new
285
298
  mock = build_mock
286
299
  mock.responds_like(instance)
@@ -290,7 +303,7 @@ class MockTest < Mocha::TestCase
290
303
 
291
304
  def test_should_raise_no_method_error_if_responder_does_not_respond_to_invoked_method
292
305
  instance = Class.new do
293
- define_method(:respond_to?) { |symbol| false }
306
+ define_method(:respond_to?) { |_symbol| false }
294
307
  define_method(:mocha_inspect) { 'mocha_inspect' }
295
308
  end.new
296
309
  mock = build_mock
@@ -301,7 +314,7 @@ class MockTest < Mocha::TestCase
301
314
 
302
315
  def test_should_raise_no_method_error_with_message_indicating_that_mock_is_constrained_to_respond_like_responder
303
316
  instance = Class.new do
304
- define_method(:respond_to?) { |symbol| false }
317
+ define_method(:respond_to?) { |_symbol| false }
305
318
  define_method(:mocha_inspect) { 'mocha_inspect' }
306
319
  end.new
307
320
  mock = build_mock
@@ -5,7 +5,6 @@ require 'mocha/expectation_error_factory'
5
5
  require 'deprecation_disabler'
6
6
 
7
7
  class MockeryTest < Mocha::TestCase
8
-
9
8
  include Mocha
10
9
  include DeprecationDisabler
11
10
 
@@ -31,25 +30,25 @@ class MockeryTest < Mocha::TestCase
31
30
  end
32
31
 
33
32
  def test_should_cache_instance_of_mockery
34
- mockery_1 = Mockery.instance
35
- mockery_2 = Mockery.instance
36
- assert_same mockery_1, mockery_2
33
+ mockery1 = Mockery.instance
34
+ mockery2 = Mockery.instance
35
+ assert_same mockery1, mockery2
37
36
  end
38
37
 
39
38
  def test_should_expire_mockery_instance_cache
40
- mockery_1 = Mockery.instance
39
+ mockery1 = Mockery.instance
41
40
  Mockery.teardown
42
- mockery_2 = Mockery.instance
43
- assert_not_same mockery_1, mockery_2
41
+ mockery2 = Mockery.instance
42
+ assert_not_same mockery1, mockery2
44
43
  end
45
44
 
46
45
  def test_should_raise_expectation_error_because_not_all_expectations_are_satisfied
47
46
  mockery = Mockery.new
48
47
  disable_deprecations do
49
- mock_1 = mockery.named_mock('mock-1') { expects(:method_1) }
50
- mock_2 = mockery.named_mock('mock-2') { expects(:method_2) }
51
- 1.times { mock_1.method_1 }
52
- 0.times { mock_2.method_2 }
48
+ mock1 = mockery.named_mock('mock-1') { expects(:method_1) }
49
+ mock2 = mockery.named_mock('mock-2') { expects(:method_2) }
50
+ 1.times { mock1.method_1 }
51
+ 0.times { mock2.method_2 }
53
52
  end
54
53
  assert_raises(ExpectationErrorFactory.exception_class) { mockery.verify }
55
54
  end
@@ -71,10 +70,10 @@ class MockeryTest < Mocha::TestCase
71
70
 
72
71
  def test_should_build_new_instance_of_stubba_on_teardown
73
72
  mockery = Mockery.new
74
- stubba_1 = mockery.stubba
73
+ stubba1 = mockery.stubba
75
74
  mockery.teardown
76
- stubba_2 = mockery.stubba
77
- assert_not_same stubba_1, stubba_2
75
+ stubba2 = mockery.stubba
76
+ assert_not_same stubba1, stubba2
78
77
  end
79
78
 
80
79
  def test_should_build_and_store_new_state_machine
@@ -93,8 +92,12 @@ class MockeryTest < Mocha::TestCase
93
92
 
94
93
  class FakeMethod
95
94
  def stub; end
95
+
96
96
  def unstub; end
97
- def matches?(other); true; end
97
+
98
+ def matches?(_other)
99
+ true
100
+ end
98
101
  end
99
102
 
100
103
  def test_should_unstub_all_methods_on_teardown
@@ -108,51 +111,51 @@ class MockeryTest < Mocha::TestCase
108
111
  def test_should_display_object_id_for_mocha_inspect_if_mock_has_no_name
109
112
  mockery = Mockery.new
110
113
  mock = mockery.unnamed_mock
111
- assert_match Regexp.new("^#<Mock:0x[0-9A-Fa-f]{1,12}>$"), mock.mocha_inspect
114
+ assert_match Regexp.new('^#<Mock:0x[0-9A-Fa-f]{1,12}>$'), mock.mocha_inspect
112
115
  end
113
116
 
114
117
  def test_should_display_object_id_for_inspect_if_mock_has_no_name
115
118
  mockery = Mockery.new
116
119
  mock = mockery.unnamed_mock
117
- assert_match Regexp.new("^#<Mock:0x[0-9A-Fa-f]{1,12}>$"), mock.inspect
120
+ assert_match Regexp.new('^#<Mock:0x[0-9A-Fa-f]{1,12}>$'), mock.inspect
118
121
  end
119
122
 
120
123
  def test_should_display_name_for_mocha_inspect_if_mock_has_string_name
121
124
  mockery = Mockery.new
122
125
  mock = mockery.named_mock('named_mock')
123
- assert_equal "#<Mock:named_mock>", mock.mocha_inspect
126
+ assert_equal '#<Mock:named_mock>', mock.mocha_inspect
124
127
  end
125
128
 
126
129
  def test_should_display_name_for_mocha_inspect_if_mock_has_symbol_name
127
130
  mockery = Mockery.new
128
131
  mock = mockery.named_mock(:named_mock)
129
- assert_equal "#<Mock:named_mock>", mock.mocha_inspect
132
+ assert_equal '#<Mock:named_mock>', mock.mocha_inspect
130
133
  end
131
134
 
132
135
  def test_should_display_name_for_inspect_if_mock_has_string_name
133
136
  mockery = Mockery.new
134
137
  mock = mockery.named_mock('named_mock')
135
- assert_equal "#<Mock:named_mock>", mock.inspect
138
+ assert_equal '#<Mock:named_mock>', mock.inspect
136
139
  end
137
140
 
138
141
  def test_should_display_name_for_inspect_if_mock_has_symbol_name
139
142
  mockery = Mockery.new
140
143
  mock = mockery.named_mock(:named_mock)
141
- assert_equal "#<Mock:named_mock>", mock.inspect
144
+ assert_equal '#<Mock:named_mock>', mock.inspect
142
145
  end
143
146
 
144
147
  def test_should_display_impersonated_object_for_mocha_inspect
145
148
  mockery = Mockery.new
146
149
  instance = Object.new
147
150
  mock = mockery.mock_impersonating(instance)
148
- assert_equal "#{instance.mocha_inspect}", mock.mocha_inspect
151
+ assert_equal instance.mocha_inspect.to_s, mock.mocha_inspect
149
152
  end
150
153
 
151
154
  def test_should_display_impersonated_object_for_inspect
152
155
  mockery = Mockery.new
153
156
  instance = Object.new
154
157
  mock = mockery.mock_impersonating(instance)
155
- assert_equal "#{instance.mocha_inspect}", mock.inspect
158
+ assert_equal instance.mocha_inspect.to_s, mock.inspect
156
159
  end
157
160
 
158
161
  class FakeClass; end
@@ -160,13 +163,12 @@ class MockeryTest < Mocha::TestCase
160
163
  def test_should_display_any_instance_prefix_followed_by_class_whose_instances_are_being_impersonated_for_mocha_inspect
161
164
  mockery = Mockery.new
162
165
  mock = mockery.mock_impersonating_any_instance_of(FakeClass)
163
- assert_equal "#<AnyInstance:MockeryTest::FakeClass>", mock.mocha_inspect
166
+ assert_equal '#<AnyInstance:MockeryTest::FakeClass>', mock.mocha_inspect
164
167
  end
165
168
 
166
169
  def test_should_display_any_instance_prefix_followed_by_class_whose_instances_are_being_impersonated_for_inspect
167
170
  mockery = Mockery.new
168
171
  mock = mockery.mock_impersonating_any_instance_of(FakeClass)
169
- assert_equal "#<AnyInstance:MockeryTest::FakeClass>", mock.inspect
172
+ assert_equal '#<AnyInstance:MockeryTest::FakeClass>', mock.inspect
170
173
  end
171
-
172
174
  end
@@ -3,7 +3,6 @@ require 'mocha/module_methods'
3
3
  require 'mocha/object_methods'
4
4
 
5
5
  class ModuleMethodsTest < Mocha::TestCase
6
-
7
6
  def setup
8
7
  @module = Module.new.extend(Mocha::ModuleMethods, Mocha::ObjectMethods)
9
8
  end
@@ -15,5 +14,4 @@ class ModuleMethodsTest < Mocha::TestCase
15
14
  def test_should_stub_self_for_module
16
15
  assert_equal @module, @module.stubba_object
17
16
  end
18
-
19
17
  end
@@ -3,7 +3,6 @@ require File.expand_path('../../test_helper', __FILE__)
3
3
  require 'mocha/multiple_yields'
4
4
 
5
5
  class MultipleYieldsTest < Mocha::TestCase
6
-
7
6
  include Mocha
8
7
 
9
8
  def test_should_provide_parameters_for_multiple_yields_in_single_invocation
@@ -14,5 +13,4 @@ class MultipleYieldsTest < Mocha::TestCase
14
13
  end
15
14
  assert_equal [[1, 2, 3], [4, 5]], parameter_groups
16
15
  end
17
-
18
16
  end
@@ -3,7 +3,6 @@ require File.expand_path('../../test_helper', __FILE__)
3
3
  require 'mocha/no_yields'
4
4
 
5
5
  class NoYieldsTest < Mocha::TestCase
6
-
7
6
  include Mocha
8
7
 
9
8
  def test_should_provide_parameters_for_no_yields_in_single_invocation
@@ -14,5 +13,4 @@ class NoYieldsTest < Mocha::TestCase
14
13
  end
15
14
  assert_equal [], parameter_groups
16
15
  end
17
-
18
16
  end
@@ -4,14 +4,13 @@ require 'mocha/inspect'
4
4
  require 'method_definer'
5
5
 
6
6
  class ObjectInspectTest < Mocha::TestCase
7
-
8
7
  def test_should_return_default_string_representation_of_object_not_including_instance_variables
9
8
  object = Object.new
10
9
  class << object
11
10
  attr_accessor :attribute
12
11
  end
13
12
  object.attribute = 'instance_variable'
14
- assert_match Regexp.new("^#<Object:0x[0-9A-Fa-f]{1,8}.*>$"), object.mocha_inspect
13
+ assert_match Regexp.new('^#<Object:0x[0-9A-Fa-f]{1,8}.*>$'), object.mocha_inspect
15
14
  assert_no_match(/instance_variable/, object.mocha_inspect)
16
15
  end
17
16
 
@@ -26,14 +25,24 @@ class ObjectInspectTest < Mocha::TestCase
26
25
  def test_should_use_underscored_id_instead_of_object_id_or_id_so_that_they_can_be_stubbed
27
26
  calls = []
28
27
  object = Object.new
29
- object.replace_instance_method(:id) { calls << :id; return 1 } if Mocha::PRE_RUBY_V19
30
- object.replace_instance_method(:object_id) { calls << :object_id; return 1 }
31
- object.replace_instance_method(:__id__) { calls << :__id__; return 1 }
32
- object.replace_instance_method(:inspect) { "object-description" }
28
+ if Mocha::PRE_RUBY_V19
29
+ object.replace_instance_method(:id) do
30
+ calls << :id
31
+ return 1
32
+ end
33
+ end
34
+ object.replace_instance_method(:object_id) do
35
+ calls << :object_id
36
+ return 1
37
+ end
38
+ object.replace_instance_method(:__id__) do
39
+ calls << :__id__
40
+ return 1
41
+ end
42
+ object.replace_instance_method(:inspect) { 'object-description' }
33
43
 
34
44
  object.mocha_inspect
35
45
 
36
46
  assert_equal [:__id__], calls.uniq
37
47
  end
38
-
39
48
  end