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,73 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubClassMethodDefinedOnModuleTest < 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_class_method
17
- :original_return_value
18
- end
19
- public :my_class_method
20
- end
21
- klass = Class.new do
22
- extend mod
23
- end
24
- assert_snapshot_unchanged(klass) do
25
- test_result = run_as_test do
26
- klass.stubs(:my_class_method).returns(:new_return_value)
27
- assert_equal :new_return_value, klass.my_class_method
28
- end
29
- assert_passed(test_result)
30
- end
31
- assert_equal :original_return_value, klass.my_class_method
32
- end
33
-
34
- def test_should_stub_protected_method_and_leave_it_unchanged_after_test
35
- mod = Module.new do
36
- def my_class_method
37
- :original_return_value
38
- end
39
- protected :my_class_method
40
- end
41
- klass = Class.new do
42
- extend mod
43
- end
44
- assert_snapshot_unchanged(klass) do
45
- test_result = run_as_test do
46
- klass.stubs(:my_class_method).returns(:new_return_value)
47
- assert_equal :new_return_value, klass.send(:my_class_method)
48
- end
49
- assert_passed(test_result)
50
- end
51
- assert_equal :original_return_value, klass.send(:my_class_method)
52
- end
53
-
54
- def test_should_stub_private_method_and_leave_it_unchanged_after_test
55
- mod = Module.new do
56
- def my_class_method
57
- :original_return_value
58
- end
59
- private :my_class_method
60
- end
61
- klass = Class.new do
62
- extend mod
63
- end
64
- assert_snapshot_unchanged(klass) do
65
- test_result = run_as_test do
66
- klass.stubs(:my_class_method).returns(:new_return_value)
67
- assert_equal :new_return_value, klass.send(:my_class_method)
68
- end
69
- assert_passed(test_result)
70
- end
71
- assert_equal :original_return_value, klass.send(:my_class_method)
72
- end
73
- end
@@ -1,144 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubClassMethodDefinedOnSuperclassTest < 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_on_child_class_and_leave_it_unchanged_after_test
16
- superklass = Class.new do
17
- class << self
18
- def my_class_method
19
- :original_return_value
20
- end
21
- public :my_class_method
22
- end
23
- end
24
- klass = Class.new(superklass)
25
- assert_snapshot_unchanged(klass) do
26
- test_result = run_as_test do
27
- klass.stubs(:my_class_method).returns(:new_return_value)
28
- assert_equal :new_return_value, klass.my_class_method
29
- end
30
- assert_passed(test_result)
31
- end
32
- assert_equal :original_return_value, klass.my_class_method
33
- end
34
-
35
- def test_should_stub_protected_method_on_child_class_and_leave_it_unchanged_after_test
36
- superklass = Class.new do
37
- class << self
38
- def my_class_method
39
- :original_return_value
40
- end
41
- protected :my_class_method
42
- end
43
- end
44
- klass = Class.new(superklass)
45
- assert_snapshot_unchanged(klass) do
46
- test_result = run_as_test do
47
- klass.stubs(:my_class_method).returns(:new_return_value)
48
- assert_equal :new_return_value, klass.send(:my_class_method)
49
- end
50
- assert_passed(test_result)
51
- end
52
- assert_equal :original_return_value, klass.send(:my_class_method)
53
- end
54
-
55
- def test_should_stub_private_method_on_child_class_and_leave_it_unchanged_after_test
56
- superklass = Class.new do
57
- class << self
58
- def my_class_method
59
- :original_return_value
60
- end
61
- private :my_class_method
62
- end
63
- end
64
- klass = Class.new(superklass)
65
- assert_snapshot_unchanged(klass) do
66
- test_result = run_as_test do
67
- klass.stubs(:my_class_method).returns(:new_return_value)
68
- assert_equal :new_return_value, klass.send(:my_class_method)
69
- end
70
- assert_passed(test_result)
71
- end
72
- assert_equal :original_return_value, klass.send(:my_class_method)
73
- end
74
-
75
- def test_should_stub_method_on_superclass_and_leave_it_unchanged_after_test
76
- superklass = Class.new do
77
- class << self
78
- def my_class_method
79
- :original_return_value
80
- end
81
- public :my_class_method
82
- end
83
- end
84
- klass = Class.new(superklass)
85
- assert_snapshot_unchanged(klass) do
86
- test_result = run_as_test do
87
- superklass.stubs(:my_class_method).returns(:new_return_value)
88
- assert_equal :new_return_value, klass.my_class_method
89
- end
90
- assert_passed(test_result)
91
- end
92
- assert_equal :original_return_value, klass.my_class_method
93
- end
94
-
95
- def test_stub_on_earliest_receiver_should_take_priority
96
- superklass = Class.new do
97
- class << self
98
- def my_class_method
99
- :original_return_value
100
- end
101
- end
102
- end
103
- klass = Class.new(superklass)
104
- test_result = run_as_test do
105
- klass.stubs(:my_class_method).returns(:klass_return_value)
106
- superklass.stubs(:my_class_method).returns(:superklass_return_value)
107
- assert_equal :klass_return_value, klass.my_class_method
108
- end
109
- assert_passed(test_result)
110
- end
111
-
112
- def test_expect_method_on_superclass_even_if_preceded_by_test_expecting_method_on_subclass
113
- superklass = Class.new do
114
- def self.inspect
115
- 'superklass'
116
- end
117
-
118
- def self.my_class_method; end
119
- end
120
- klass = Class.new(superklass) do
121
- def self.inspect
122
- 'klass'
123
- end
124
-
125
- def self.my_class_method; end
126
- end
127
- test_result = run_as_tests(
128
- :test_1 => lambda {
129
- klass.expects(:my_class_method)
130
- klass.my_class_method
131
- },
132
- :test_2 => lambda {
133
- superklass.expects(:my_class_method)
134
- }
135
- )
136
- assert_failed(test_result)
137
- assert_equal [
138
- 'not all expectations were satisfied',
139
- 'unsatisfied expectations:',
140
- '- expected exactly once, invoked never: superklass.my_class_method(any_parameters)'
141
- ], test_result.failure_message_lines
142
- end
143
- # rubocop:enable Lint/DuplicateMethods
144
- end
@@ -1,53 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubEverythingTest < 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_build_stub_and_explicitly_add_an_expectation
15
- test_result = run_as_test do
16
- foo = stub_everything
17
- foo.stubs(:bar)
18
- foo.bar
19
- foo.unexpected_invocation
20
- end
21
- assert_passed(test_result)
22
- end
23
-
24
- def test_should_build_named_stub_and_explicitly_add_an_expectation
25
- test_result = run_as_test do
26
- foo = stub_everything('foo')
27
- foo.stubs(:bar)
28
- foo.bar
29
- foo.unexpected_invocation
30
- end
31
- assert_passed(test_result)
32
- end
33
-
34
- def test_should_build_stub_incorporating_two_expectations
35
- test_result = run_as_test do
36
- foo = stub_everything(:bar => 'bar', :baz => 'baz')
37
- foo.bar
38
- foo.baz
39
- foo.unexpected_invocation
40
- end
41
- assert_passed(test_result)
42
- end
43
-
44
- def test_should_build_named_stub_incorporating_two_expectations
45
- test_result = run_as_test do
46
- foo = stub_everything('foo', :bar => 'bar', :baz => 'baz')
47
- foo.bar
48
- foo.baz
49
- foo.unexpected_invocation
50
- end
51
- assert_passed(test_result)
52
- end
53
- end
@@ -1,91 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubInstanceMethodDefinedOnActiveRecordAssociationProxyTest < 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_be_able_to_stub_method_if_ruby18_public_methods_include_method_but_method_does_not_exist
15
- ruby18_instance = Class.new do
16
- def public_methods(_include_superclass = true)
17
- ['my_instance_method']
18
- end
19
- end.new
20
- test_result = run_as_test do
21
- ruby18_instance.stubs(:my_instance_method).returns(:new_return_value)
22
- assert_equal :new_return_value, ruby18_instance.my_instance_method
23
- end
24
- assert_passed(test_result)
25
- end
26
-
27
- def test_should_be_able_to_stub_method_if_ruby19_public_methods_include_method_but_method_does_not_exist
28
- ruby19_instance = Class.new do
29
- def public_methods(_include_superclass = true)
30
- [:my_instance_method]
31
- end
32
- end.new
33
- test_result = run_as_test do
34
- ruby19_instance.stubs(:my_instance_method).returns(:new_return_value)
35
- assert_equal :new_return_value, ruby19_instance.my_instance_method
36
- end
37
- assert_passed(test_result)
38
- end
39
-
40
- def test_should_be_able_to_stub_method_if_ruby18_protected_methods_include_method_but_method_does_not_exist
41
- ruby18_instance = Class.new do
42
- def protected_methods(_include_superclass = true)
43
- ['my_instance_method']
44
- end
45
- end.new
46
- test_result = run_as_test do
47
- ruby18_instance.stubs(:my_instance_method).returns(:new_return_value)
48
- assert_equal :new_return_value, ruby18_instance.my_instance_method
49
- end
50
- assert_passed(test_result)
51
- end
52
-
53
- def test_should_be_able_to_stub_method_if_ruby19_protected_methods_include_method_but_method_does_not_exist
54
- ruby19_instance = Class.new do
55
- def protected_methods(_include_superclass = true)
56
- [:my_instance_method]
57
- end
58
- end.new
59
- test_result = run_as_test do
60
- ruby19_instance.stubs(:my_instance_method).returns(:new_return_value)
61
- assert_equal :new_return_value, ruby19_instance.my_instance_method
62
- end
63
- assert_passed(test_result)
64
- end
65
-
66
- def test_should_be_able_to_stub_method_if_ruby18_private_methods_include_method_but_method_does_not_exist
67
- ruby18_instance = Class.new do
68
- def private_methods(_include_superclass = true)
69
- ['my_instance_method']
70
- end
71
- end.new
72
- test_result = run_as_test do
73
- ruby18_instance.stubs(:my_instance_method).returns(:new_return_value)
74
- assert_equal :new_return_value, ruby18_instance.my_instance_method
75
- end
76
- assert_passed(test_result)
77
- end
78
-
79
- def test_should_be_able_to_stub_method_if_ruby19_private_methods_include_method_but_method_does_not_exist
80
- ruby19_instance = Class.new do
81
- def private_methods(_include_superclass = true)
82
- [:my_instance_method]
83
- end
84
- end.new
85
- test_result = run_as_test do
86
- ruby19_instance.stubs(:my_instance_method).returns(:new_return_value)
87
- assert_equal :new_return_value, ruby19_instance.my_instance_method
88
- end
89
- assert_passed(test_result)
90
- end
91
- end
@@ -1,67 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubInstanceMethodDefinedOnClassAndAliasedTest < 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 do
16
- def my_instance_method
17
- :original_return_value
18
- end
19
- public :my_instance_method
20
- alias_method :my_aliased_method, :my_instance_method
21
- end.new
22
- assert_snapshot_unchanged(instance) do
23
- test_result = run_as_test do
24
- instance.stubs(:my_aliased_method).returns(:new_return_value)
25
- assert_equal :new_return_value, instance.my_aliased_method
26
- end
27
- assert_passed(test_result)
28
- end
29
- assert_equal :original_return_value, instance.my_aliased_method
30
- end
31
-
32
- def test_should_stub_protected_method_and_leave_it_unchanged_after_test
33
- instance = Class.new do
34
- def my_instance_method
35
- :original_return_value
36
- end
37
- protected :my_instance_method
38
- alias_method :my_aliased_method, :my_instance_method
39
- end.new
40
- assert_snapshot_unchanged(instance) do
41
- test_result = run_as_test do
42
- instance.stubs(:my_aliased_method).returns(:new_return_value)
43
- assert_equal :new_return_value, instance.send(:my_aliased_method)
44
- end
45
- assert_passed(test_result)
46
- end
47
- assert_equal :original_return_value, instance.send(:my_aliased_method)
48
- end
49
-
50
- def test_should_stub_private_method_and_leave_it_unchanged_after_test
51
- instance = Class.new do
52
- def my_instance_method
53
- :original_return_value
54
- end
55
- private :my_instance_method
56
- alias_method :my_aliased_method, :my_instance_method
57
- end.new
58
- assert_snapshot_unchanged(instance) do
59
- test_result = run_as_test do
60
- instance.stubs(:my_aliased_method).returns(:new_return_value)
61
- assert_equal :new_return_value, instance.send(:my_aliased_method)
62
- end
63
- assert_passed(test_result)
64
- end
65
- assert_equal :original_return_value, instance.send(:my_aliased_method)
66
- end
67
- end
@@ -1,67 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubInstanceMethodDefinedOnClassTest < 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 do
16
- def my_instance_method
17
- :original_return_value
18
- end
19
- public :my_instance_method
20
- end.new
21
- assert_snapshot_unchanged(instance) do
22
- test_result = run_as_test do
23
- instance.stubs(:my_instance_method).returns(:new_return_value)
24
- assert_method_visibility instance, :my_instance_method, :public
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
- end
31
-
32
- def test_should_stub_protected_method_and_leave_it_unchanged_after_test
33
- instance = Class.new do
34
- def my_instance_method
35
- :original_return_value
36
- end
37
- protected :my_instance_method
38
- end.new
39
- assert_snapshot_unchanged(instance) do
40
- test_result = run_as_test do
41
- instance.stubs(:my_instance_method).returns(:new_return_value)
42
- assert_method_visibility instance, :my_instance_method, :protected
43
- assert_equal :new_return_value, instance.send(:my_instance_method)
44
- end
45
- assert_passed(test_result)
46
- end
47
- assert_equal :original_return_value, instance.send(:my_instance_method)
48
- end
49
-
50
- def test_should_stub_private_method_and_leave_it_unchanged_after_test
51
- instance = Class.new do
52
- def my_instance_method
53
- :original_return_value
54
- end
55
- private :my_instance_method
56
- end.new
57
- assert_snapshot_unchanged(instance) do
58
- test_result = run_as_test do
59
- instance.stubs(:my_instance_method).returns(:new_return_value)
60
- assert_method_visibility instance, :my_instance_method, :private
61
- assert_equal :new_return_value, instance.send(:my_instance_method)
62
- end
63
- assert_passed(test_result)
64
- end
65
- assert_equal :original_return_value, instance.send(:my_instance_method)
66
- end
67
- end