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,200 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubModuleMethodTest < 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_method_within_test
16
- mod = Module.new do
17
- def self.my_module_method
18
- :original_return_value
19
- end
20
- end
21
- test_result = run_as_test do
22
- mod.stubs(:my_module_method).returns(:new_return_value)
23
- assert_equal :new_return_value, mod.my_module_method
24
- end
25
- assert_passed(test_result)
26
- end
27
-
28
- def test_should_leave_stubbed_public_method_unchanged_after_test
29
- mod = Module.new do
30
- class << self
31
- def my_module_method
32
- :original_return_value
33
- end
34
- public :my_module_method
35
- end
36
- end
37
- run_as_test do
38
- mod.stubs(:my_module_method).returns(:new_return_value)
39
- end
40
- assert(mod.public_methods(false).any? { |m| m.to_s == 'my_module_method' })
41
- assert_equal :original_return_value, mod.my_module_method
42
- end
43
-
44
- def test_should_leave_stubbed_protected_method_unchanged_after_test
45
- mod = Module.new do
46
- class << self
47
- def my_module_method
48
- :original_return_value
49
- end
50
- protected :my_module_method
51
- def my_unprotected_module_method
52
- my_module_method
53
- end
54
- end
55
- end
56
- run_as_test do
57
- mod.stubs(:my_module_method).returns(:new_return_value)
58
- end
59
- assert(mod.protected_methods(false).any? { |m| m.to_s == 'my_module_method' })
60
- assert_equal :original_return_value, mod.my_unprotected_module_method
61
- end
62
-
63
- def test_should_leave_stubbed_private_method_unchanged_after_test
64
- mod = Module.new do
65
- class << self
66
- def my_module_method
67
- :original_return_value
68
- end
69
- private :my_module_method
70
- end
71
- end
72
- run_as_test do
73
- mod.stubs(:my_module_method).returns(:new_return_value)
74
- end
75
- assert(mod.private_methods(false).any? { |m| m.to_s == 'my_module_method' })
76
- assert_equal :original_return_value, mod.send(:my_module_method)
77
- end
78
-
79
- def test_should_reset_expectations_after_test
80
- mod = Module.new do
81
- def self.my_module_method
82
- :original_return_value
83
- end
84
- end
85
- run_as_test do
86
- mod.stubs(:my_module_method)
87
- end
88
- assert_equal 0, mod.mocha.__expectations__.length
89
- end
90
-
91
- def test_should_be_able_to_stub_a_superclass_method
92
- supermod = Module.new do
93
- def self.my_superclass_method
94
- :original_return_value
95
- end
96
- end
97
- mod = Module.new do
98
- include supermod
99
- end
100
- test_result = run_as_test do
101
- mod.stubs(:my_superclass_method).returns(:new_return_value)
102
- assert_equal :new_return_value, mod.my_superclass_method
103
- end
104
- assert_passed(test_result)
105
- assert(supermod.public_methods.any? { |m| m.to_s == 'my_superclass_method' })
106
- assert(mod.public_methods(false).none? { |m| m.to_s == 'my_superclass_method' })
107
- assert_equal :original_return_value, supermod.my_superclass_method
108
- end
109
-
110
- def test_should_be_able_to_stub_method_if_ruby18_public_methods_include_method_but_method_does_not_actually_exist_like_active_record_association_proxy
111
- ruby18_mod = Module.new do
112
- class << self
113
- def public_methods(_include_superclass = true)
114
- ['my_module_method']
115
- end
116
- end
117
- end
118
- test_result = run_as_test do
119
- ruby18_mod.stubs(:my_module_method).returns(:new_return_value)
120
- assert_equal :new_return_value, ruby18_mod.my_module_method
121
- end
122
- assert_passed(test_result)
123
- end
124
-
125
- def test_should_be_able_to_stub_method_if_ruby19_public_methods_include_method_but_method_does_not_actually_exist_like_active_record_association_proxy
126
- ruby19_mod = Module.new do
127
- class << self
128
- def public_methods(_include_superclass = true)
129
- [:my_module_method]
130
- end
131
- end
132
- end
133
- test_result = run_as_test do
134
- ruby19_mod.stubs(:my_module_method).returns(:new_return_value)
135
- assert_equal :new_return_value, ruby19_mod.my_module_method
136
- end
137
- assert_passed(test_result)
138
- end
139
-
140
- def test_should_be_able_to_stub_method_if_ruby_18_protected_methods_include_method_but_method_does_not_actually_exist_like_active_record_association_proxy
141
- ruby18_mod = Module.new do
142
- class << self
143
- def protected_methods(_include_superclass = true)
144
- ['my_module_method']
145
- end
146
- end
147
- end
148
- test_result = run_as_test do
149
- ruby18_mod.stubs(:my_module_method).returns(:new_return_value)
150
- assert_equal :new_return_value, ruby18_mod.my_module_method
151
- end
152
- assert_passed(test_result)
153
- end
154
-
155
- def test_should_be_able_to_stub_method_if_ruby19_protected_methods_include_method_but_method_does_not_actually_exist_like_active_record_association_proxy
156
- ruby19_mod = Module.new do
157
- class << self
158
- def protected_methods(_include_superclass = true)
159
- [:my_module_method]
160
- end
161
- end
162
- end
163
- test_result = run_as_test do
164
- ruby19_mod.stubs(:my_module_method).returns(:new_return_value)
165
- assert_equal :new_return_value, ruby19_mod.my_module_method
166
- end
167
- assert_passed(test_result)
168
- end
169
-
170
- def test_should_be_able_to_stub_method_if_ruby18_private_methods_include_method_but_method_does_not_actually_exist_like_active_record_association_proxy
171
- ruby18_mod = Module.new do
172
- class << self
173
- def private_methods(_include_superclass = true)
174
- ['my_module_method']
175
- end
176
- end
177
- end
178
- test_result = run_as_test do
179
- ruby18_mod.stubs(:my_module_method).returns(:new_return_value)
180
- assert_equal :new_return_value, ruby18_mod.my_module_method
181
- end
182
- assert_passed(test_result)
183
- end
184
-
185
- def test_should_be_able_to_stub_method_if_ruby19_private_methods_include_method_but_method_does_not_actually_exist_like_active_record_association_proxy
186
- ruby19_mod = Module.new do
187
- class << self
188
- def private_methods(_include_superclass = true)
189
- [:my_module_method]
190
- end
191
- end
192
- end
193
- test_result = run_as_test do
194
- ruby19_mod.stubs(:my_module_method).returns(:new_return_value)
195
- assert_equal :new_return_value, ruby19_mod.my_module_method
196
- end
197
- assert_passed(test_result)
198
- end
199
- # rubocop:enable Lint/DuplicateMethods
200
- end
@@ -1,49 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class StubTest < 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
17
- foo.stubs(:bar)
18
- foo.bar
19
- end
20
- assert_passed(test_result)
21
- end
22
-
23
- def test_should_build_named_stub_and_explicitly_add_an_expectation
24
- test_result = run_as_test do
25
- foo = stub('foo')
26
- foo.stubs(:bar)
27
- foo.bar
28
- end
29
- assert_passed(test_result)
30
- end
31
-
32
- def test_should_build_stub_incorporating_two_expectations
33
- test_result = run_as_test do
34
- foo = stub(:bar => 'bar', :baz => 'baz')
35
- foo.bar
36
- foo.baz
37
- end
38
- assert_passed(test_result)
39
- end
40
-
41
- def test_should_build_named_stub_incorporating_two_expectations
42
- test_result = run_as_test do
43
- foo = stub('foo', :bar => 'bar', :baz => 'baz')
44
- foo.bar
45
- foo.baz
46
- end
47
- assert_passed(test_result)
48
- end
49
- end
@@ -1,103 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class Widget
4
- def model
5
- 'original_model'
6
- end
7
-
8
- class << self
9
- def find(_options)
10
- []
11
- end
12
-
13
- def create(_attributes)
14
- Widget.new
15
- end
16
- end
17
- end
18
-
19
- module Thingy
20
- def self.wotsit
21
- :hoojamaflip
22
- end
23
- end
24
-
25
- class StubbaExampleTest < Mocha::TestCase
26
- include AcceptanceTest
27
-
28
- def setup
29
- setup_acceptance_test
30
- end
31
-
32
- def teardown
33
- teardown_acceptance_test
34
- end
35
-
36
- def test_should_stub_instance_method
37
- widget = Widget.new
38
- widget.expects(:model).returns('different_model')
39
- assert_equal 'different_model', widget.model
40
- end
41
-
42
- def test_should_stub_module_method
43
- should_stub_module_method
44
- end
45
-
46
- def test_should_stub_module_method_again
47
- should_stub_module_method
48
- end
49
-
50
- def test_should_stub_class_method
51
- should_stub_class_method
52
- end
53
-
54
- def test_should_stub_class_method_again
55
- should_stub_class_method
56
- end
57
-
58
- def test_should_stub_instance_method_on_any_instance_of_a_class
59
- should_stub_instance_method_on_any_instance_of_a_class
60
- end
61
-
62
- def test_should_stub_instance_method_on_any_instance_of_a_class_again
63
- should_stub_instance_method_on_any_instance_of_a_class
64
- end
65
-
66
- def test_should_stub_two_different_class_methods
67
- should_stub_two_different_class_methods
68
- end
69
-
70
- def test_should_stub_two_different_class_methods_again
71
- should_stub_two_different_class_methods
72
- end
73
-
74
- private
75
-
76
- def should_stub_module_method
77
- Thingy.expects(:wotsit).returns(:dooda)
78
- assert_equal :dooda, Thingy.wotsit
79
- end
80
-
81
- def should_stub_class_method
82
- widgets = [Widget.new]
83
- Widget.expects(:find).with(:all).returns(widgets)
84
- assert_equal widgets, Widget.find(:all)
85
- end
86
-
87
- def should_stub_two_different_class_methods
88
- found_widgets = [Widget.new]
89
- created_widget = Widget.new
90
- Widget.expects(:find).with(:all).returns(found_widgets)
91
- Widget.expects(:create).with(:model => 'wombat').returns(created_widget)
92
- assert_equal found_widgets, Widget.find(:all)
93
- assert_equal created_widget, Widget.create(:model => 'wombat')
94
- end
95
-
96
- def should_stub_instance_method_on_any_instance_of_a_class
97
- Widget.any_instance.expects(:model).at_least_once.returns('another_model')
98
- widget1 = Widget.new
99
- widget2 = Widget.new
100
- assert_equal 'another_model', widget1.model
101
- assert_equal 'another_model', widget2.model
102
- end
103
- end
@@ -1,71 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
- require 'execution_point'
3
-
4
- class StubbaTestResultTest < 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_should_include_expectation_verification_in_assertion_count
16
- test_result = run_as_test do
17
- object = Class.new do
18
- def message; end
19
- end.new
20
- object.expects(:message)
21
- object.message
22
- end
23
- assert_equal 1, test_result.assertion_count
24
- end
25
-
26
- def test_should_include_assertions_in_assertion_count
27
- test_result = run_as_test do
28
- assert true
29
- end
30
- assert_equal 1, test_result.assertion_count
31
- end
32
-
33
- def test_should_not_include_stubbing_expectation_verification_in_assertion_count
34
- test_result = run_as_test do
35
- object = Class.new do
36
- def message; end
37
- end.new
38
- object.stubs(:message)
39
- object.message
40
- end
41
- assert_equal 0, test_result.assertion_count
42
- end
43
-
44
- def test_should_include_expectation_verification_failure_in_failure_count
45
- test_result = run_as_test do
46
- object = Class.new do
47
- def message; end
48
- end.new
49
- object.expects(:message)
50
- end
51
- assert_equal 1, test_result.failure_count
52
- end
53
-
54
- def test_should_include_assertion_failure_in_failure_count
55
- test_result = run_as_test do
56
- flunk
57
- end
58
- assert_equal 1, test_result.failure_count
59
- end
60
-
61
- # rubocop:disable Style/Semicolon
62
- def test_should_display_backtrace_indicating_line_number_where_failing_assertion_was_called
63
- execution_point = nil
64
- test_result = run_as_test do
65
- execution_point = ExecutionPoint.current; flunk
66
- end
67
- assert_equal 1, test_result.failure_count
68
- assert_equal execution_point, ExecutionPoint.new(test_result.failures[0].location)
69
- end
70
- # rubocop:enable Style/Semicolon
71
- end
@@ -1,63 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
- require 'execution_point'
3
-
4
- class StubbingErrorBacktraceTest < 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
- # rubocop:disable Style/Semicolon
16
- def test_should_display_backtrace_indicating_line_number_where_attempt_to_stub_non_existent_method_was_made
17
- execution_point = nil
18
- object = Object.new
19
- Mocha.configure { |c| c.stubbing_non_existent_method = :prevent }
20
- test_result = run_as_test do
21
- execution_point = ExecutionPoint.current; object.stubs(:non_existent_method)
22
- end
23
- assert_equal 1, test_result.error_count
24
- assert_equal execution_point, ExecutionPoint.new(test_result.errors[0].exception.backtrace)
25
- end
26
-
27
- def test_should_display_backtrace_indicating_line_number_where_attempt_to_stub_non_public_method_was_made
28
- execution_point = nil
29
- object = Class.new do
30
- def non_public_method; end
31
- private :non_public_method
32
- end.new
33
- Mocha.configure { |c| c.stubbing_non_public_method = :prevent }
34
- test_result = run_as_test do
35
- execution_point = ExecutionPoint.current; object.stubs(:non_public_method)
36
- end
37
- assert_equal 1, test_result.error_count
38
- assert_equal execution_point, ExecutionPoint.new(test_result.errors[0].exception.backtrace)
39
- end
40
-
41
- def test_should_display_backtrace_indicating_line_number_where_attempt_to_stub_method_on_non_mock_object_was_made
42
- execution_point = nil
43
- object = Object.new
44
- Mocha.configure { |c| c.stubbing_method_on_non_mock_object = :prevent }
45
- test_result = run_as_test do
46
- execution_point = ExecutionPoint.current; object.stubs(:any_method)
47
- end
48
- assert_equal 1, test_result.error_count
49
- assert_equal execution_point, ExecutionPoint.new(test_result.errors[0].exception.backtrace)
50
- end
51
-
52
- def test_should_display_backtrace_indicating_line_number_where_method_was_unnecessarily_stubbed
53
- execution_point = nil
54
- object = Object.new
55
- Mocha.configure { |c| c.stubbing_method_unnecessarily = :prevent }
56
- test_result = run_as_test do
57
- execution_point = ExecutionPoint.current; object.stubs(:unused_method)
58
- end
59
- assert_equal 1, test_result.error_count
60
- assert_equal execution_point, ExecutionPoint.new(test_result.errors[0].exception.backtrace)
61
- end
62
- # rubocop:enable Style/Semicolon
63
- end