mocha 1.11.2 → 1.12.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 (200) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +1 -1
  3. data/README.md +28 -30
  4. data/RELEASE.md +25 -0
  5. data/Rakefile +6 -1
  6. data/lib/mocha/cardinality.rb +30 -27
  7. data/lib/mocha/expectation.rb +24 -24
  8. data/lib/mocha/mock.rb +1 -1
  9. data/lib/mocha/mockery.rb +9 -22
  10. data/lib/mocha/state_machine.rb +30 -38
  11. data/lib/mocha/version.rb +1 -1
  12. data/mocha.gemspec +3 -1
  13. metadata +5 -192
  14. data/docs/CNAME +0 -1
  15. data/docs/Mocha.html +0 -254
  16. data/docs/Mocha/API.html +0 -1285
  17. data/docs/Mocha/ClassMethods.html +0 -264
  18. data/docs/Mocha/Configuration.html +0 -1525
  19. data/docs/Mocha/Expectation.html +0 -2862
  20. data/docs/Mocha/ExpectationError.html +0 -152
  21. data/docs/Mocha/ExpectationErrorFactory.html +0 -260
  22. data/docs/Mocha/Hooks.html +0 -370
  23. data/docs/Mocha/Integration.html +0 -125
  24. data/docs/Mocha/Integration/MiniTest.html +0 -123
  25. data/docs/Mocha/Integration/MiniTest/Adapter.html +0 -164
  26. data/docs/Mocha/Integration/TestUnit.html +0 -123
  27. data/docs/Mocha/Integration/TestUnit/Adapter.html +0 -164
  28. data/docs/Mocha/Mock.html +0 -1210
  29. data/docs/Mocha/ObjectMethods.html +0 -765
  30. data/docs/Mocha/ParameterMatchers.html +0 -2949
  31. data/docs/Mocha/ParameterMatchers/AllOf.html +0 -153
  32. data/docs/Mocha/ParameterMatchers/AnyOf.html +0 -153
  33. data/docs/Mocha/ParameterMatchers/AnyParameters.html +0 -153
  34. data/docs/Mocha/ParameterMatchers/Anything.html +0 -153
  35. data/docs/Mocha/ParameterMatchers/Base.html +0 -441
  36. data/docs/Mocha/ParameterMatchers/Equals.html +0 -153
  37. data/docs/Mocha/ParameterMatchers/EquivalentUri.html +0 -153
  38. data/docs/Mocha/ParameterMatchers/HasEntries.html +0 -153
  39. data/docs/Mocha/ParameterMatchers/HasEntry.html +0 -153
  40. data/docs/Mocha/ParameterMatchers/HasKey.html +0 -153
  41. data/docs/Mocha/ParameterMatchers/HasValue.html +0 -153
  42. data/docs/Mocha/ParameterMatchers/Includes.html +0 -153
  43. data/docs/Mocha/ParameterMatchers/InstanceOf.html +0 -153
  44. data/docs/Mocha/ParameterMatchers/IsA.html +0 -153
  45. data/docs/Mocha/ParameterMatchers/KindOf.html +0 -153
  46. data/docs/Mocha/ParameterMatchers/Not.html +0 -153
  47. data/docs/Mocha/ParameterMatchers/Optionally.html +0 -153
  48. data/docs/Mocha/ParameterMatchers/RegexpMatches.html +0 -153
  49. data/docs/Mocha/ParameterMatchers/RespondsWith.html +0 -153
  50. data/docs/Mocha/ParameterMatchers/YamlEquivalent.html +0 -153
  51. data/docs/Mocha/Sequence.html +0 -149
  52. data/docs/Mocha/StateMachine.html +0 -527
  53. data/docs/Mocha/StateMachine/State.html +0 -140
  54. data/docs/Mocha/StateMachine/StatePredicate.html +0 -140
  55. data/docs/Mocha/StubbingError.html +0 -150
  56. data/docs/_index.html +0 -519
  57. data/docs/class_list.html +0 -51
  58. data/docs/css/common.css +0 -1
  59. data/docs/css/full_list.css +0 -58
  60. data/docs/css/style.css +0 -496
  61. data/docs/file.COPYING.html +0 -81
  62. data/docs/file.MIT-LICENSE.html +0 -85
  63. data/docs/file.README.html +0 -448
  64. data/docs/file.RELEASE.html +0 -1028
  65. data/docs/file_list.html +0 -71
  66. data/docs/frames.html +0 -17
  67. data/docs/index.html +0 -448
  68. data/docs/js/app.js +0 -303
  69. data/docs/js/full_list.js +0 -216
  70. data/docs/js/jquery.js +0 -4
  71. data/docs/method_list.html +0 -651
  72. data/docs/top-level-namespace.html +0 -118
  73. data/test/acceptance/acceptance_test_helper.rb +0 -42
  74. data/test/acceptance/bug_18914_test.rb +0 -37
  75. data/test/acceptance/bug_21465_test.rb +0 -31
  76. data/test/acceptance/bug_21563_test.rb +0 -22
  77. data/test/acceptance/display_matching_invocations_alongside_expectations_test.rb +0 -69
  78. data/test/acceptance/exception_rescue_test.rb +0 -53
  79. data/test/acceptance/expectations_on_multiple_methods_test.rb +0 -55
  80. data/test/acceptance/expected_invocation_count_test.rb +0 -229
  81. data/test/acceptance/failure_messages_test.rb +0 -77
  82. data/test/acceptance/issue_272_test.rb +0 -50
  83. data/test/acceptance/issue_457_test.rb +0 -31
  84. data/test/acceptance/issue_65_test.rb +0 -64
  85. data/test/acceptance/issue_70_test.rb +0 -53
  86. data/test/acceptance/mocha_example_test.rb +0 -106
  87. data/test/acceptance/mocha_test_result_test.rb +0 -83
  88. data/test/acceptance/mock_built_with_first_argument_type_being_string_test.rb +0 -98
  89. data/test/acceptance/mock_test.rb +0 -191
  90. data/test/acceptance/mocked_methods_dispatch_test.rb +0 -75
  91. data/test/acceptance/multiple_expectations_failure_message_test.rb +0 -66
  92. data/test/acceptance/multiple_yielding_test.rb +0 -59
  93. data/test/acceptance/optional_parameters_test.rb +0 -67
  94. data/test/acceptance/parameter_matcher_test.rb +0 -299
  95. data/test/acceptance/partial_mocks_test.rb +0 -44
  96. data/test/acceptance/prepend_test.rb +0 -86
  97. data/test/acceptance/prevent_use_of_mocha_outside_test_test.rb +0 -76
  98. data/test/acceptance/raise_exception_test.rb +0 -36
  99. data/test/acceptance/return_value_test.rb +0 -49
  100. data/test/acceptance/sequence_test.rb +0 -189
  101. data/test/acceptance/states_test.rb +0 -71
  102. data/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +0 -64
  103. data/test/acceptance/stub_any_instance_method_test.rb +0 -301
  104. data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +0 -105
  105. data/test/acceptance/stub_class_method_defined_on_class_test.rb +0 -78
  106. data/test/acceptance/stub_class_method_defined_on_module_test.rb +0 -73
  107. data/test/acceptance/stub_class_method_defined_on_superclass_test.rb +0 -144
  108. data/test/acceptance/stub_everything_test.rb +0 -53
  109. data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +0 -91
  110. data/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +0 -67
  111. data/test/acceptance/stub_instance_method_defined_on_class_test.rb +0 -67
  112. data/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +0 -136
  113. data/test/acceptance/stub_instance_method_defined_on_module_test.rb +0 -76
  114. data/test/acceptance/stub_instance_method_defined_on_object_class_test.rb +0 -75
  115. data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +0 -67
  116. data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +0 -70
  117. data/test/acceptance/stub_method_defined_on_module_and_aliased_test.rb +0 -38
  118. data/test/acceptance/stub_module_method_test.rb +0 -200
  119. data/test/acceptance/stub_test.rb +0 -49
  120. data/test/acceptance/stubba_example_test.rb +0 -103
  121. data/test/acceptance/stubba_test_result_test.rb +0 -71
  122. data/test/acceptance/stubbing_error_backtrace_test.rb +0 -63
  123. data/test/acceptance/stubbing_frozen_object_test.rb +0 -88
  124. data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +0 -52
  125. data/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -63
  126. data/test/acceptance/stubbing_nil_test.rb +0 -60
  127. data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -157
  128. data/test/acceptance/stubbing_non_existent_class_method_test.rb +0 -157
  129. data/test/acceptance/stubbing_non_existent_instance_method_test.rb +0 -145
  130. data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -128
  131. data/test/acceptance/stubbing_non_public_class_method_test.rb +0 -163
  132. data/test/acceptance/stubbing_non_public_instance_method_test.rb +0 -141
  133. data/test/acceptance/stubbing_on_non_mock_object_test.rb +0 -70
  134. data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +0 -33
  135. data/test/acceptance/throw_test.rb +0 -42
  136. data/test/acceptance/unexpected_invocation_test.rb +0 -23
  137. data/test/acceptance/unstubbing_test.rb +0 -194
  138. data/test/acceptance/yielding_test.rb +0 -80
  139. data/test/assertions.rb +0 -8
  140. data/test/deprecation_disabler.rb +0 -15
  141. data/test/execution_point.rb +0 -36
  142. data/test/integration/mini_test_test.rb +0 -8
  143. data/test/integration/shared_tests.rb +0 -178
  144. data/test/integration/test_unit_test.rb +0 -8
  145. data/test/method_definer.rb +0 -16
  146. data/test/mini_test_result.rb +0 -96
  147. data/test/minitest_result.rb +0 -48
  148. data/test/simple_counter.rb +0 -11
  149. data/test/test_helper.rb +0 -58
  150. data/test/test_runner.rb +0 -58
  151. data/test/test_unit_result.rb +0 -22
  152. data/test/unit/any_instance_method_test.rb +0 -175
  153. data/test/unit/array_inspect_test.rb +0 -14
  154. data/test/unit/backtrace_filter_test.rb +0 -17
  155. data/test/unit/cardinality_test.rb +0 -72
  156. data/test/unit/central_test.rb +0 -98
  157. data/test/unit/change_state_side_effect_test.rb +0 -37
  158. data/test/unit/class_methods_test.rb +0 -69
  159. data/test/unit/configuration_test.rb +0 -37
  160. data/test/unit/date_time_inspect_test.rb +0 -19
  161. data/test/unit/exception_raiser_test.rb +0 -45
  162. data/test/unit/expectation_list_test.rb +0 -82
  163. data/test/unit/expectation_test.rb +0 -504
  164. data/test/unit/hash_inspect_test.rb +0 -14
  165. data/test/unit/hooks_test.rb +0 -35
  166. data/test/unit/in_state_ordering_constraint_test.rb +0 -39
  167. data/test/unit/instance_method_test.rb +0 -282
  168. data/test/unit/method_matcher_test.rb +0 -26
  169. data/test/unit/mock_test.rb +0 -372
  170. data/test/unit/mockery_test.rb +0 -171
  171. data/test/unit/module_methods_test.rb +0 -16
  172. data/test/unit/object_inspect_test.rb +0 -60
  173. data/test/unit/object_methods_test.rb +0 -63
  174. data/test/unit/parameter_matchers/all_of_test.rb +0 -24
  175. data/test/unit/parameter_matchers/any_of_test.rb +0 -24
  176. data/test/unit/parameter_matchers/anything_test.rb +0 -19
  177. data/test/unit/parameter_matchers/equals_test.rb +0 -23
  178. data/test/unit/parameter_matchers/equivalent_uri_test.rb +0 -41
  179. data/test/unit/parameter_matchers/has_entries_test.rb +0 -51
  180. data/test/unit/parameter_matchers/has_entry_test.rb +0 -128
  181. data/test/unit/parameter_matchers/has_key_test.rb +0 -54
  182. data/test/unit/parameter_matchers/has_value_test.rb +0 -55
  183. data/test/unit/parameter_matchers/includes_test.rb +0 -106
  184. data/test/unit/parameter_matchers/instance_of_test.rb +0 -23
  185. data/test/unit/parameter_matchers/is_a_test.rb +0 -23
  186. data/test/unit/parameter_matchers/kind_of_test.rb +0 -23
  187. data/test/unit/parameter_matchers/not_test.rb +0 -24
  188. data/test/unit/parameter_matchers/regexp_matches_test.rb +0 -45
  189. data/test/unit/parameter_matchers/responds_with_test.rb +0 -38
  190. data/test/unit/parameter_matchers/stub_matcher.rb +0 -23
  191. data/test/unit/parameter_matchers/yaml_equivalent_test.rb +0 -23
  192. data/test/unit/parameters_matcher_test.rb +0 -119
  193. data/test/unit/receivers_test.rb +0 -96
  194. data/test/unit/return_values_test.rb +0 -66
  195. data/test/unit/sequence_test.rb +0 -100
  196. data/test/unit/single_return_value_test.rb +0 -17
  197. data/test/unit/state_machine_test.rb +0 -96
  198. data/test/unit/string_inspect_test.rb +0 -9
  199. data/test/unit/thrower_test.rb +0 -23
  200. data/test/unit/yield_parameters_test.rb +0 -73
@@ -1,136 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubInstanceMethodDefinedOnKernelModuleTest < Mocha::TestCase
4
- include AcceptanceTest
5
-
6
- def setup
7
- setup_acceptance_test
8
- end
9
-
10
- def teardown
11
- teardown_acceptance_test
12
- end
13
-
14
- def test_should_stub_public_method_and_leave_it_unchanged_after_test
15
- Kernel.module_eval do
16
- def my_instance_method
17
- :original_return_value
18
- end
19
- public :my_instance_method
20
- end
21
- instance = Class.new.new
22
- assert_snapshot_unchanged(instance) do
23
- test_result = run_as_test do
24
- instance.stubs(:my_instance_method).returns(:new_return_value)
25
- assert_equal :new_return_value, instance.my_instance_method
26
- end
27
- assert_passed(test_result)
28
- end
29
- assert_equal :original_return_value, instance.my_instance_method
30
- ensure
31
- Kernel.module_eval { remove_method :my_instance_method }
32
- end
33
-
34
- def test_should_stub_protected_method_and_leave_it_unchanged_after_test
35
- Kernel.module_eval do
36
- def my_instance_method
37
- :original_return_value
38
- end
39
- protected :my_instance_method
40
- end
41
- instance = Class.new.new
42
- assert_snapshot_unchanged(instance) do
43
- test_result = run_as_test do
44
- instance.stubs(:my_instance_method).returns(:new_return_value)
45
- assert_equal :new_return_value, instance.send(:my_instance_method)
46
- end
47
- assert_passed(test_result)
48
- end
49
- assert_equal :original_return_value, instance.send(:my_instance_method)
50
- ensure
51
- Kernel.module_eval { remove_method :my_instance_method }
52
- end
53
-
54
- def test_should_stub_private_method_and_leave_it_unchanged_after_test
55
- Kernel.module_eval do
56
- def my_instance_method
57
- :original_return_value
58
- end
59
- private :my_instance_method
60
- end
61
- instance = Class.new.new
62
- assert_snapshot_unchanged(instance) do
63
- test_result = run_as_test do
64
- instance.stubs(:my_instance_method).returns(:new_return_value)
65
- assert_equal :new_return_value, instance.send(:my_instance_method)
66
- end
67
- assert_passed(test_result)
68
- end
69
- assert_equal :original_return_value, instance.send(:my_instance_method)
70
- ensure
71
- Kernel.module_eval { remove_method :my_instance_method }
72
- end
73
-
74
- def test_should_stub_public_module_method_and_leave_it_unchanged_after_test
75
- Kernel.module_eval do
76
- def my_instance_method
77
- :original_return_value
78
- end
79
- public :my_instance_method
80
- end
81
- mod = Module.new
82
- assert_snapshot_unchanged(mod) do
83
- test_result = run_as_test do
84
- mod.stubs(:my_instance_method).returns(:new_return_value)
85
- assert_method_visibility mod, :my_instance_method, :public
86
- assert_equal :new_return_value, mod.my_instance_method
87
- end
88
- assert_passed(test_result)
89
- end
90
- assert_equal :original_return_value, mod.my_instance_method
91
- ensure
92
- Kernel.module_eval { remove_method :my_instance_method }
93
- end
94
-
95
- def test_should_stub_protected_module_method_and_leave_it_unchanged_after_test
96
- Kernel.module_eval do
97
- def my_instance_method
98
- :original_return_value
99
- end
100
- protected :my_instance_method
101
- end
102
- mod = Module.new
103
- assert_snapshot_unchanged(mod) do
104
- test_result = run_as_test do
105
- mod.stubs(:my_instance_method).returns(:new_return_value)
106
- assert_method_visibility mod, :my_instance_method, :protected
107
- assert_equal :new_return_value, mod.send(:my_instance_method)
108
- end
109
- assert_passed(test_result)
110
- end
111
- assert_equal :original_return_value, mod.send(:my_instance_method)
112
- ensure
113
- Kernel.module_eval { remove_method :my_instance_method }
114
- end
115
-
116
- def test_should_stub_private_module_method_and_leave_it_unchanged_after_test
117
- Kernel.module_eval do
118
- def my_instance_method
119
- :original_return_value
120
- end
121
- private :my_instance_method
122
- end
123
- mod = Module.new
124
- assert_snapshot_unchanged(mod) do
125
- test_result = run_as_test do
126
- mod.stubs(:my_instance_method).returns(:new_return_value)
127
- assert_method_visibility mod, :my_instance_method, :private
128
- assert_equal :new_return_value, mod.send(:my_instance_method)
129
- end
130
- assert_passed(test_result)
131
- end
132
- assert_equal :original_return_value, mod.send(:my_instance_method)
133
- ensure
134
- Kernel.module_eval { remove_method :my_instance_method }
135
- end
136
- end
@@ -1,76 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubInstanceMethodDefinedOnModuleTest < Mocha::TestCase
4
- include AcceptanceTest
5
-
6
- def setup
7
- setup_acceptance_test
8
- end
9
-
10
- def teardown
11
- teardown_acceptance_test
12
- end
13
-
14
- def test_should_stub_public_method_and_leave_it_unchanged_after_test
15
- mod = Module.new do
16
- def my_module_method
17
- :original_return_value
18
- end
19
- public :my_module_method
20
- end
21
- instance = Class.new do
22
- include mod
23
- end.new
24
- assert_snapshot_unchanged(instance) do
25
- test_result = run_as_test do
26
- instance.stubs(:my_module_method).returns(:new_return_value)
27
- assert_method_visibility instance, :my_module_method, :public
28
- assert_equal :new_return_value, instance.my_module_method
29
- end
30
- assert_passed(test_result)
31
- end
32
- assert_equal :original_return_value, instance.my_module_method
33
- end
34
-
35
- def test_should_stub_protected_method_and_leave_it_unchanged_after_test
36
- mod = Module.new do
37
- def my_module_method
38
- :original_return_value
39
- end
40
- protected :my_module_method
41
- end
42
- instance = Class.new do
43
- include mod
44
- end.new
45
- assert_snapshot_unchanged(instance) do
46
- test_result = run_as_test do
47
- instance.stubs(:my_module_method).returns(:new_return_value)
48
- assert_method_visibility instance, :my_module_method, :protected
49
- assert_equal :new_return_value, instance.send(:my_module_method)
50
- end
51
- assert_passed(test_result)
52
- end
53
- assert_equal :original_return_value, instance.send(:my_module_method)
54
- end
55
-
56
- def test_should_stub_private_method_and_leave_it_unchanged_after_test
57
- mod = Module.new do
58
- def my_module_method
59
- :original_return_value
60
- end
61
- private :my_module_method
62
- end
63
- instance = Class.new do
64
- include mod
65
- end.new
66
- assert_snapshot_unchanged(instance) do
67
- test_result = run_as_test do
68
- instance.stubs(:my_module_method).returns(:new_return_value)
69
- assert_method_visibility instance, :my_module_method, :private
70
- assert_equal :new_return_value, instance.send(:my_module_method)
71
- end
72
- assert_passed(test_result)
73
- end
74
- assert_equal :original_return_value, instance.send(:my_module_method)
75
- end
76
- end
@@ -1,75 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubInstanceMethodDefinedOnObjectClassTest < Mocha::TestCase
4
- include AcceptanceTest
5
-
6
- def setup
7
- setup_acceptance_test
8
- end
9
-
10
- def teardown
11
- teardown_acceptance_test
12
- end
13
-
14
- # rubocop:disable Lint/DuplicateMethods
15
- def test_should_stub_public_method_and_leave_it_unchanged_after_test
16
- Object.class_eval do
17
- def my_instance_method
18
- :original_return_value
19
- end
20
- public :my_instance_method
21
- end
22
- instance = Class.new.new
23
- assert_snapshot_unchanged(instance) do
24
- test_result = run_as_test do
25
- instance.stubs(:my_instance_method).returns(:new_return_value)
26
- assert_equal :new_return_value, instance.my_instance_method
27
- end
28
- assert_passed(test_result)
29
- end
30
- assert_equal :original_return_value, instance.my_instance_method
31
- ensure
32
- Object.class_eval { remove_method :my_instance_method }
33
- end
34
-
35
- def test_should_stub_protected_method_and_leave_it_unchanged_after_test
36
- Object.class_eval do
37
- def my_instance_method
38
- :original_return_value
39
- end
40
- protected :my_instance_method
41
- end
42
- instance = Class.new.new
43
- assert_snapshot_unchanged(instance) do
44
- test_result = run_as_test do
45
- instance.stubs(:my_instance_method).returns(:new_return_value)
46
- assert_equal :new_return_value, instance.send(:my_instance_method)
47
- end
48
- assert_passed(test_result)
49
- end
50
- assert_equal :original_return_value, instance.send(:my_instance_method)
51
- ensure
52
- Object.class_eval { remove_method :my_instance_method }
53
- end
54
-
55
- def test_should_stub_private_method_and_leave_it_unchanged_after_test
56
- Object.class_eval do
57
- def my_instance_method
58
- :original_return_value
59
- end
60
- private :my_instance_method
61
- end
62
- instance = Class.new.new
63
- assert_snapshot_unchanged(instance) do
64
- test_result = run_as_test do
65
- instance.stubs(:my_instance_method).returns(:new_return_value)
66
- assert_equal :new_return_value, instance.send(:my_instance_method)
67
- end
68
- assert_passed(test_result)
69
- end
70
- assert_equal :original_return_value, instance.send(:my_instance_method)
71
- ensure
72
- Object.class_eval { remove_method :my_instance_method }
73
- end
74
- # rubocop:enable Lint/DuplicateMethods
75
- end
@@ -1,67 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubInstanceMethodDefinedOnSingletonClassTest < Mocha::TestCase
4
- include AcceptanceTest
5
-
6
- def setup
7
- setup_acceptance_test
8
- end
9
-
10
- def teardown
11
- teardown_acceptance_test
12
- end
13
-
14
- def test_should_stub_public_method_and_leave_it_unchanged_after_test
15
- instance = Class.new.new
16
- class << instance
17
- def my_singleton_method
18
- :original_return_value
19
- end
20
- public :my_singleton_method
21
- end
22
- assert_snapshot_unchanged(instance) do
23
- test_result = run_as_test do
24
- instance.stubs(:my_singleton_method).returns(:stubbed_return_value)
25
- assert_equal :stubbed_return_value, instance.my_singleton_method
26
- end
27
- assert_passed(test_result)
28
- end
29
- assert_equal :original_return_value, instance.my_singleton_method
30
- end
31
-
32
- def test_should_stub_protected_method_and_leave_it_unchanged_after_test
33
- instance = Class.new.new
34
- class << instance
35
- def my_singleton_method
36
- :original_return_value
37
- end
38
- protected :my_singleton_method
39
- end
40
- assert_snapshot_unchanged(instance) do
41
- test_result = run_as_test do
42
- instance.stubs(:my_singleton_method).returns(:stubbed_return_value)
43
- assert_equal :stubbed_return_value, instance.send(:my_singleton_method)
44
- end
45
- assert_passed(test_result)
46
- end
47
- assert_equal :original_return_value, instance.send(:my_singleton_method)
48
- end
49
-
50
- def test_should_stub_private_method_and_leave_it_unchanged_after_test
51
- instance = Class.new.new
52
- class << instance
53
- def my_singleton_method
54
- :original_return_value
55
- end
56
- private :my_singleton_method
57
- end
58
- assert_snapshot_unchanged(instance) do
59
- test_result = run_as_test do
60
- instance.stubs(:my_singleton_method).returns(:stubbed_return_value)
61
- assert_equal :stubbed_return_value, instance.send(:my_singleton_method)
62
- end
63
- assert_passed(test_result)
64
- end
65
- assert_equal :original_return_value, instance.send(:my_singleton_method)
66
- end
67
- end
@@ -1,70 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubInstanceMethodDefinedOnSuperclassTest < Mocha::TestCase
4
- include AcceptanceTest
5
-
6
- def setup
7
- setup_acceptance_test
8
- end
9
-
10
- def teardown
11
- teardown_acceptance_test
12
- end
13
-
14
- def test_should_stub_public_method_and_leave_it_unchanged_after_test
15
- superklass = Class.new do
16
- def my_superclass_method
17
- :original_return_value
18
- end
19
- public :my_superclass_method
20
- end
21
- klass = Class.new(superklass)
22
- instance = klass.new
23
- assert_snapshot_unchanged(instance) do
24
- test_result = run_as_test do
25
- instance.stubs(:my_superclass_method).returns(:new_return_value)
26
- assert_equal :new_return_value, instance.my_superclass_method
27
- end
28
- assert_passed(test_result)
29
- end
30
- assert_equal :original_return_value, instance.my_superclass_method
31
- end
32
-
33
- def test_should_stub_protected_method_and_leave_it_unchanged_after_test
34
- superklass = Class.new do
35
- def my_superclass_method
36
- :original_return_value
37
- end
38
- protected :my_superclass_method
39
- end
40
- klass = Class.new(superklass)
41
- instance = klass.new
42
- assert_snapshot_unchanged(instance) do
43
- test_result = run_as_test do
44
- instance.stubs(:my_superclass_method).returns(:new_return_value)
45
- assert_equal :new_return_value, instance.send(:my_superclass_method)
46
- end
47
- assert_passed(test_result)
48
- end
49
- assert_equal :original_return_value, instance.send(:my_superclass_method)
50
- end
51
-
52
- def test_should_stub_private_method_and_leave_it_unchanged_after_test
53
- superklass = Class.new do
54
- def my_superclass_method
55
- :original_return_value
56
- end
57
- private :my_superclass_method
58
- end
59
- klass = Class.new(superklass)
60
- instance = klass.new
61
- assert_snapshot_unchanged(instance) do
62
- test_result = run_as_test do
63
- instance.stubs(:my_superclass_method).returns(:new_return_value)
64
- assert_equal :new_return_value, instance.send(:my_superclass_method)
65
- end
66
- assert_passed(test_result)
67
- end
68
- assert_equal :original_return_value, instance.send(:my_superclass_method)
69
- end
70
- end
@@ -1,38 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- unless Mocha::PRE_RUBY_V19
4
- class StubMethodDefinedOnModuleAndAliasedTest < Mocha::TestCase
5
- include AcceptanceTest
6
-
7
- def setup
8
- setup_acceptance_test
9
- end
10
-
11
- def teardown
12
- teardown_acceptance_test
13
- end
14
-
15
- def test_stubbing_class_method_defined_by_aliasing_module_instance_method
16
- mod = Module.new do
17
- def module_instance_method
18
- 'module-instance-method'
19
- end
20
- end
21
-
22
- klass = Class.new do
23
- extend mod
24
- class << self
25
- alias_method :aliased_module_instance_method, :module_instance_method
26
- end
27
- end
28
-
29
- assert_snapshot_unchanged(klass) do
30
- test_result = run_as_test do
31
- klass.stubs(:aliased_module_instance_method).returns('stubbed-aliased-module-instance-method')
32
- assert_equal 'stubbed-aliased-module-instance-method', klass.aliased_module_instance_method
33
- end
34
- assert_passed(test_result)
35
- end
36
- end
37
- end
38
- end