mocha 1.11.2 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (221) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +1 -1
  3. data/Gemfile +31 -0
  4. data/README.md +29 -31
  5. data/RELEASE.md +62 -0
  6. data/Rakefile +7 -2
  7. data/gemfiles/Gemfile.minitest.latest +1 -0
  8. data/gemfiles/Gemfile.test-unit.latest +1 -0
  9. data/lib/mocha/cardinality.rb +30 -27
  10. data/lib/mocha/expectation.rb +24 -24
  11. data/lib/mocha/inspect.rb +6 -4
  12. data/lib/mocha/mock.rb +5 -1
  13. data/lib/mocha/mockery.rb +9 -22
  14. data/lib/mocha/parameter_matchers/has_entry.rb +22 -13
  15. data/lib/mocha/parameter_matchers/has_keys.rb +53 -0
  16. data/lib/mocha/parameter_matchers.rb +1 -0
  17. data/lib/mocha/state_machine.rb +30 -38
  18. data/lib/mocha/version.rb +1 -1
  19. data/mocha.gemspec +5 -30
  20. metadata +8 -264
  21. data/bin/build-matrix +0 -82
  22. data/docs/CNAME +0 -1
  23. data/docs/Mocha/API.html +0 -1285
  24. data/docs/Mocha/ClassMethods.html +0 -264
  25. data/docs/Mocha/Configuration.html +0 -1525
  26. data/docs/Mocha/Expectation.html +0 -2862
  27. data/docs/Mocha/ExpectationError.html +0 -152
  28. data/docs/Mocha/ExpectationErrorFactory.html +0 -260
  29. data/docs/Mocha/Hooks.html +0 -370
  30. data/docs/Mocha/Integration/MiniTest/Adapter.html +0 -164
  31. data/docs/Mocha/Integration/MiniTest.html +0 -123
  32. data/docs/Mocha/Integration/TestUnit/Adapter.html +0 -164
  33. data/docs/Mocha/Integration/TestUnit.html +0 -123
  34. data/docs/Mocha/Integration.html +0 -125
  35. data/docs/Mocha/Mock.html +0 -1210
  36. data/docs/Mocha/ObjectMethods.html +0 -765
  37. data/docs/Mocha/ParameterMatchers/AllOf.html +0 -153
  38. data/docs/Mocha/ParameterMatchers/AnyOf.html +0 -153
  39. data/docs/Mocha/ParameterMatchers/AnyParameters.html +0 -153
  40. data/docs/Mocha/ParameterMatchers/Anything.html +0 -153
  41. data/docs/Mocha/ParameterMatchers/Base.html +0 -441
  42. data/docs/Mocha/ParameterMatchers/Equals.html +0 -153
  43. data/docs/Mocha/ParameterMatchers/EquivalentUri.html +0 -153
  44. data/docs/Mocha/ParameterMatchers/HasEntries.html +0 -153
  45. data/docs/Mocha/ParameterMatchers/HasEntry.html +0 -153
  46. data/docs/Mocha/ParameterMatchers/HasKey.html +0 -153
  47. data/docs/Mocha/ParameterMatchers/HasValue.html +0 -153
  48. data/docs/Mocha/ParameterMatchers/Includes.html +0 -153
  49. data/docs/Mocha/ParameterMatchers/InstanceOf.html +0 -153
  50. data/docs/Mocha/ParameterMatchers/IsA.html +0 -153
  51. data/docs/Mocha/ParameterMatchers/KindOf.html +0 -153
  52. data/docs/Mocha/ParameterMatchers/Not.html +0 -153
  53. data/docs/Mocha/ParameterMatchers/Optionally.html +0 -153
  54. data/docs/Mocha/ParameterMatchers/RegexpMatches.html +0 -153
  55. data/docs/Mocha/ParameterMatchers/RespondsWith.html +0 -153
  56. data/docs/Mocha/ParameterMatchers/YamlEquivalent.html +0 -153
  57. data/docs/Mocha/ParameterMatchers.html +0 -2949
  58. data/docs/Mocha/Sequence.html +0 -149
  59. data/docs/Mocha/StateMachine/State.html +0 -140
  60. data/docs/Mocha/StateMachine/StatePredicate.html +0 -140
  61. data/docs/Mocha/StateMachine.html +0 -527
  62. data/docs/Mocha/StubbingError.html +0 -150
  63. data/docs/Mocha.html +0 -254
  64. data/docs/_index.html +0 -519
  65. data/docs/class_list.html +0 -51
  66. data/docs/css/common.css +0 -1
  67. data/docs/css/full_list.css +0 -58
  68. data/docs/css/style.css +0 -496
  69. data/docs/file.COPYING.html +0 -81
  70. data/docs/file.MIT-LICENSE.html +0 -85
  71. data/docs/file.README.html +0 -448
  72. data/docs/file.RELEASE.html +0 -1028
  73. data/docs/file_list.html +0 -71
  74. data/docs/frames.html +0 -17
  75. data/docs/index.html +0 -448
  76. data/docs/js/app.js +0 -303
  77. data/docs/js/full_list.js +0 -216
  78. data/docs/js/jquery.js +0 -4
  79. data/docs/method_list.html +0 -651
  80. data/docs/top-level-namespace.html +0 -118
  81. data/gemfiles/Gemfile.minitest.1.3.0 +0 -7
  82. data/gemfiles/Gemfile.minitest.1.4.0 +0 -7
  83. data/gemfiles/Gemfile.minitest.1.4.1 +0 -7
  84. data/gemfiles/Gemfile.minitest.1.4.2 +0 -7
  85. data/gemfiles/Gemfile.minitest.2.0.0 +0 -7
  86. data/gemfiles/Gemfile.minitest.2.0.1 +0 -7
  87. data/gemfiles/Gemfile.minitest.2.11.0 +0 -7
  88. data/gemfiles/Gemfile.minitest.2.11.2 +0 -7
  89. data/gemfiles/Gemfile.minitest.2.3.0 +0 -7
  90. data/gemfiles/Gemfile.minitest.5.11.3 +0 -7
  91. data/gemfiles/Gemfile.test-unit.2.0.0 +0 -7
  92. data/gemfiles/Gemfile.test-unit.2.0.1 +0 -7
  93. data/gemfiles/Gemfile.test-unit.2.0.3 +0 -7
  94. data/test/acceptance/acceptance_test_helper.rb +0 -42
  95. data/test/acceptance/bug_18914_test.rb +0 -37
  96. data/test/acceptance/bug_21465_test.rb +0 -31
  97. data/test/acceptance/bug_21563_test.rb +0 -22
  98. data/test/acceptance/display_matching_invocations_alongside_expectations_test.rb +0 -69
  99. data/test/acceptance/exception_rescue_test.rb +0 -53
  100. data/test/acceptance/expectations_on_multiple_methods_test.rb +0 -55
  101. data/test/acceptance/expected_invocation_count_test.rb +0 -229
  102. data/test/acceptance/failure_messages_test.rb +0 -77
  103. data/test/acceptance/issue_272_test.rb +0 -50
  104. data/test/acceptance/issue_457_test.rb +0 -31
  105. data/test/acceptance/issue_65_test.rb +0 -64
  106. data/test/acceptance/issue_70_test.rb +0 -53
  107. data/test/acceptance/mocha_example_test.rb +0 -106
  108. data/test/acceptance/mocha_test_result_test.rb +0 -83
  109. data/test/acceptance/mock_built_with_first_argument_type_being_string_test.rb +0 -98
  110. data/test/acceptance/mock_test.rb +0 -191
  111. data/test/acceptance/mocked_methods_dispatch_test.rb +0 -75
  112. data/test/acceptance/multiple_expectations_failure_message_test.rb +0 -66
  113. data/test/acceptance/multiple_yielding_test.rb +0 -59
  114. data/test/acceptance/optional_parameters_test.rb +0 -67
  115. data/test/acceptance/parameter_matcher_test.rb +0 -299
  116. data/test/acceptance/partial_mocks_test.rb +0 -44
  117. data/test/acceptance/prepend_test.rb +0 -86
  118. data/test/acceptance/prevent_use_of_mocha_outside_test_test.rb +0 -76
  119. data/test/acceptance/raise_exception_test.rb +0 -36
  120. data/test/acceptance/return_value_test.rb +0 -49
  121. data/test/acceptance/sequence_test.rb +0 -189
  122. data/test/acceptance/states_test.rb +0 -71
  123. data/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +0 -64
  124. data/test/acceptance/stub_any_instance_method_test.rb +0 -301
  125. data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +0 -105
  126. data/test/acceptance/stub_class_method_defined_on_class_test.rb +0 -78
  127. data/test/acceptance/stub_class_method_defined_on_module_test.rb +0 -73
  128. data/test/acceptance/stub_class_method_defined_on_superclass_test.rb +0 -144
  129. data/test/acceptance/stub_everything_test.rb +0 -53
  130. data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +0 -91
  131. data/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +0 -67
  132. data/test/acceptance/stub_instance_method_defined_on_class_test.rb +0 -67
  133. data/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +0 -136
  134. data/test/acceptance/stub_instance_method_defined_on_module_test.rb +0 -76
  135. data/test/acceptance/stub_instance_method_defined_on_object_class_test.rb +0 -75
  136. data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +0 -67
  137. data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +0 -70
  138. data/test/acceptance/stub_method_defined_on_module_and_aliased_test.rb +0 -38
  139. data/test/acceptance/stub_module_method_test.rb +0 -200
  140. data/test/acceptance/stub_test.rb +0 -49
  141. data/test/acceptance/stubba_example_test.rb +0 -103
  142. data/test/acceptance/stubba_test_result_test.rb +0 -71
  143. data/test/acceptance/stubbing_error_backtrace_test.rb +0 -63
  144. data/test/acceptance/stubbing_frozen_object_test.rb +0 -88
  145. data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +0 -52
  146. data/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -63
  147. data/test/acceptance/stubbing_nil_test.rb +0 -60
  148. data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -157
  149. data/test/acceptance/stubbing_non_existent_class_method_test.rb +0 -157
  150. data/test/acceptance/stubbing_non_existent_instance_method_test.rb +0 -145
  151. data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -128
  152. data/test/acceptance/stubbing_non_public_class_method_test.rb +0 -163
  153. data/test/acceptance/stubbing_non_public_instance_method_test.rb +0 -141
  154. data/test/acceptance/stubbing_on_non_mock_object_test.rb +0 -70
  155. data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +0 -33
  156. data/test/acceptance/throw_test.rb +0 -42
  157. data/test/acceptance/unexpected_invocation_test.rb +0 -23
  158. data/test/acceptance/unstubbing_test.rb +0 -194
  159. data/test/acceptance/yielding_test.rb +0 -80
  160. data/test/assertions.rb +0 -8
  161. data/test/deprecation_disabler.rb +0 -15
  162. data/test/execution_point.rb +0 -36
  163. data/test/integration/mini_test_test.rb +0 -8
  164. data/test/integration/shared_tests.rb +0 -178
  165. data/test/integration/test_unit_test.rb +0 -8
  166. data/test/method_definer.rb +0 -16
  167. data/test/mini_test_result.rb +0 -96
  168. data/test/minitest_result.rb +0 -48
  169. data/test/simple_counter.rb +0 -11
  170. data/test/test_helper.rb +0 -58
  171. data/test/test_runner.rb +0 -58
  172. data/test/test_unit_result.rb +0 -22
  173. data/test/unit/any_instance_method_test.rb +0 -175
  174. data/test/unit/array_inspect_test.rb +0 -14
  175. data/test/unit/backtrace_filter_test.rb +0 -17
  176. data/test/unit/cardinality_test.rb +0 -72
  177. data/test/unit/central_test.rb +0 -98
  178. data/test/unit/change_state_side_effect_test.rb +0 -37
  179. data/test/unit/class_methods_test.rb +0 -69
  180. data/test/unit/configuration_test.rb +0 -37
  181. data/test/unit/date_time_inspect_test.rb +0 -19
  182. data/test/unit/exception_raiser_test.rb +0 -45
  183. data/test/unit/expectation_list_test.rb +0 -82
  184. data/test/unit/expectation_test.rb +0 -504
  185. data/test/unit/hash_inspect_test.rb +0 -14
  186. data/test/unit/hooks_test.rb +0 -35
  187. data/test/unit/in_state_ordering_constraint_test.rb +0 -39
  188. data/test/unit/instance_method_test.rb +0 -282
  189. data/test/unit/method_matcher_test.rb +0 -26
  190. data/test/unit/mock_test.rb +0 -372
  191. data/test/unit/mockery_test.rb +0 -171
  192. data/test/unit/module_methods_test.rb +0 -16
  193. data/test/unit/object_inspect_test.rb +0 -60
  194. data/test/unit/object_methods_test.rb +0 -63
  195. data/test/unit/parameter_matchers/all_of_test.rb +0 -24
  196. data/test/unit/parameter_matchers/any_of_test.rb +0 -24
  197. data/test/unit/parameter_matchers/anything_test.rb +0 -19
  198. data/test/unit/parameter_matchers/equals_test.rb +0 -23
  199. data/test/unit/parameter_matchers/equivalent_uri_test.rb +0 -41
  200. data/test/unit/parameter_matchers/has_entries_test.rb +0 -51
  201. data/test/unit/parameter_matchers/has_entry_test.rb +0 -128
  202. data/test/unit/parameter_matchers/has_key_test.rb +0 -54
  203. data/test/unit/parameter_matchers/has_value_test.rb +0 -55
  204. data/test/unit/parameter_matchers/includes_test.rb +0 -106
  205. data/test/unit/parameter_matchers/instance_of_test.rb +0 -23
  206. data/test/unit/parameter_matchers/is_a_test.rb +0 -23
  207. data/test/unit/parameter_matchers/kind_of_test.rb +0 -23
  208. data/test/unit/parameter_matchers/not_test.rb +0 -24
  209. data/test/unit/parameter_matchers/regexp_matches_test.rb +0 -45
  210. data/test/unit/parameter_matchers/responds_with_test.rb +0 -38
  211. data/test/unit/parameter_matchers/stub_matcher.rb +0 -23
  212. data/test/unit/parameter_matchers/yaml_equivalent_test.rb +0 -23
  213. data/test/unit/parameters_matcher_test.rb +0 -119
  214. data/test/unit/receivers_test.rb +0 -96
  215. data/test/unit/return_values_test.rb +0 -66
  216. data/test/unit/sequence_test.rb +0 -100
  217. data/test/unit/single_return_value_test.rb +0 -17
  218. data/test/unit/state_machine_test.rb +0 -96
  219. data/test/unit/string_inspect_test.rb +0 -9
  220. data/test/unit/thrower_test.rb +0 -23
  221. data/test/unit/yield_parameters_test.rb +0 -73
@@ -1,765 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Module: Mocha::ObjectMethods
8
-
9
- &mdash; Mocha 1.11.2
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "Mocha::ObjectMethods";
19
- relpath = '../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../_index.html">Index (O)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../Mocha.html" title="Mocha (module)">Mocha</a></span></span>
41
- &raquo;
42
- <span class="title">ObjectMethods</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Module: Mocha::ObjectMethods
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
- <dl>
80
- <dt>Defined in:</dt>
81
- <dd>lib/mocha/object_methods.rb</dd>
82
- </dl>
83
-
84
- </div>
85
-
86
- <h2>Overview</h2><div class="docstring">
87
- <div class="discussion">
88
-
89
- <p>Methods added to all objects to allow mocking and stubbing on real (i.e. non-mock) objects.</p>
90
-
91
- <p>Both <span class='object_link'><a href="#expects-instance_method" title="Mocha::ObjectMethods#expects (method)">#expects</a></span> and <span class='object_link'><a href="#stubs-instance_method" title="Mocha::ObjectMethods#stubs (method)">#stubs</a></span> return an <span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span> which can be further modified by methods on <span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span>.</p>
92
-
93
-
94
- </div>
95
- </div>
96
- <div class="tags">
97
-
98
-
99
- </div>
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
- <h2>
108
- Instance Method Summary
109
- <small><a href="#" class="summary_toggle">collapse</a></small>
110
- </h2>
111
-
112
- <ul class="summary">
113
-
114
- <li class="public ">
115
- <span class="summary_signature">
116
-
117
- <a href="#expects-instance_method" title="#expects (instance method)">#<strong>expects</strong>(expected_methods_vs_return_values) &#x21d2; Expectation </a>
118
-
119
-
120
-
121
- </span>
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
- <span class="summary_desc"><div class='inline'>
132
- <p>Adds an expectation that the specified method must be called exactly once with any parameters.</p>
133
- </div></span>
134
-
135
- </li>
136
-
137
-
138
- <li class="public ">
139
- <span class="summary_signature">
140
-
141
- <a href="#stubs-instance_method" title="#stubs (instance method)">#<strong>stubs</strong>(stubbed_methods_vs_return_values) &#x21d2; Expectation </a>
142
-
143
-
144
-
145
- </span>
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
- <span class="summary_desc"><div class='inline'>
156
- <p>Adds an expectation that the specified method may be called any number of times with any parameters.</p>
157
- </div></span>
158
-
159
- </li>
160
-
161
-
162
- <li class="public ">
163
- <span class="summary_signature">
164
-
165
- <a href="#unstub-instance_method" title="#unstub (instance method)">#<strong>unstub</strong>(*method_names) &#x21d2; Object </a>
166
-
167
-
168
-
169
- </span>
170
-
171
-
172
-
173
-
174
-
175
-
176
-
177
-
178
-
179
- <span class="summary_desc"><div class='inline'>
180
- <p>Removes the specified stubbed methods (added by calls to <span class='object_link'><a href="#expects-instance_method" title="Mocha::ObjectMethods#expects (method)">#expects</a></span> or <span class='object_link'><a href="#stubs-instance_method" title="Mocha::ObjectMethods#stubs (method)">#stubs</a></span>) and all expectations associated with them.</p>
181
- </div></span>
182
-
183
- </li>
184
-
185
-
186
- </ul>
187
-
188
-
189
-
190
-
191
- <div id="instance_method_details" class="method_details_list">
192
- <h2>Instance Method Details</h2>
193
-
194
-
195
- <div class="method_details first">
196
- <h3 class="signature first" id="expects-instance_method">
197
-
198
-
199
- <span class="overload">#<strong>expects</strong>(method_name) &#x21d2; <tt><span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span></tt> </span>
200
-
201
- <span class="overload">#<strong>expects</strong>(expected_methods_vs_return_values) &#x21d2; <tt><span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span></tt> </span>
202
-
203
-
204
-
205
-
206
-
207
-
208
- </h3><div class="docstring">
209
- <div class="discussion">
210
-
211
- <p>Adds an expectation that the specified method must be called exactly once with any parameters.</p>
212
-
213
- <p>The original implementation of the method is replaced during the test and then restored at the end of the test. The temporary replacement method has the same visibility as the original method.</p>
214
-
215
-
216
- </div>
217
- </div>
218
- <div class="tags">
219
-
220
- <div class="examples">
221
- <p class="tag_title">Examples:</p>
222
-
223
-
224
- <p class="example_title"><div class='inline'>
225
- <p>Setting up an expectation on a non-mock object.</p>
226
- </div></p>
227
-
228
- <pre class="example code"><code><span class='id identifier rubyid_product'>product</span> <span class='op'>=</span> <span class='const'>Product</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
229
- <span class='id identifier rubyid_product'>product</span><span class='period'>.</span><span class='id identifier rubyid_expects'>expects</span><span class='lparen'>(</span><span class='symbol'>:save</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span>
230
- <span class='id identifier rubyid_assert_equal'>assert_equal</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_product'>product</span><span class='period'>.</span><span class='id identifier rubyid_save'>save</span></code></pre>
231
-
232
-
233
- <p class="example_title"><div class='inline'>
234
- <p>Setting up multiple expectations on a non-mock object.</p>
235
- </div></p>
236
-
237
- <pre class="example code"><code><span class='id identifier rubyid_product'>product</span> <span class='op'>=</span> <span class='const'>Product</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
238
- <span class='id identifier rubyid_product'>product</span><span class='period'>.</span><span class='id identifier rubyid_expects'>expects</span><span class='lparen'>(</span><span class='symbol'>:valid?</span> <span class='op'>=&gt;</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:save</span> <span class='op'>=&gt;</span> <span class='kw'>true</span><span class='rparen'>)</span>
239
-
240
- <span class='comment'># exactly equivalent to
241
- </span>
242
- <span class='id identifier rubyid_product'>product</span> <span class='op'>=</span> <span class='const'>Product</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
243
- <span class='id identifier rubyid_product'>product</span><span class='period'>.</span><span class='id identifier rubyid_expects'>expects</span><span class='lparen'>(</span><span class='symbol'>:valid?</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span>
244
- <span class='id identifier rubyid_product'>product</span><span class='period'>.</span><span class='id identifier rubyid_expects'>expects</span><span class='lparen'>(</span><span class='symbol'>:save</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span></code></pre>
245
-
246
- </div>
247
-
248
- <p class="tag_title">Overloads:</p>
249
- <ul class="overload">
250
-
251
-
252
- <li class="overload_item">
253
- <span class="signature">#<strong>expects</strong>(method_name) &#x21d2; <tt><span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span></tt> </span>
254
- <div class="docstring">
255
- <div class="discussion">
256
-
257
-
258
- </div>
259
- </div>
260
- <div class="tags">
261
- <p class="tag_title">Parameters:</p>
262
- <ul class="param">
263
-
264
- <li>
265
-
266
- <span class='name'>method_name</span>
267
-
268
-
269
- <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
270
-
271
-
272
-
273
- &mdash;
274
- <div class='inline'>
275
- <p>name of expected method</p>
276
- </div>
277
-
278
- </li>
279
-
280
- </ul>
281
-
282
-
283
- </div>
284
- </li>
285
-
286
-
287
- <li class="overload_item">
288
- <span class="signature">#<strong>expects</strong>(expected_methods_vs_return_values) &#x21d2; <tt><span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span></tt> </span>
289
- <div class="docstring">
290
- <div class="discussion">
291
-
292
-
293
- </div>
294
- </div>
295
- <div class="tags">
296
- <p class="tag_title">Parameters:</p>
297
- <ul class="param">
298
-
299
- <li>
300
-
301
- <span class='name'>expected_methods_vs_return_values</span>
302
-
303
-
304
- <span class='type'>(<tt>Hash</tt>)</span>
305
-
306
-
307
-
308
- &mdash;
309
- <div class='inline'>
310
- <p>expected method name symbols as keys and corresponding return values as values - these expectations are setup as if <span class='object_link'><a href="#expects-instance_method" title="Mocha::ObjectMethods#expects (method)">#expects</a></span> were called multiple times.</p>
311
- </div>
312
-
313
- </li>
314
-
315
- </ul>
316
-
317
-
318
- </div>
319
- </li>
320
-
321
- </ul>
322
-
323
- <p class="tag_title">Returns:</p>
324
- <ul class="return">
325
-
326
- <li>
327
-
328
-
329
- <span class='type'>(<tt><span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span></tt>)</span>
330
-
331
-
332
-
333
- &mdash;
334
- <div class='inline'>
335
- <p>last-built expectation which can be further modified by methods on <span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span>.</p>
336
- </div>
337
-
338
- </li>
339
-
340
- </ul>
341
- <p class="tag_title">Raises:</p>
342
- <ul class="raise">
343
-
344
- <li>
345
-
346
-
347
- <span class='type'>(<tt><span class='object_link'><a href="StubbingError.html" title="Mocha::StubbingError (class)">StubbingError</a></span></tt>)</span>
348
-
349
-
350
-
351
- &mdash;
352
- <div class='inline'>
353
- <p>if attempting to stub method which is not allowed.</p>
354
- </div>
355
-
356
- </li>
357
-
358
- </ul>
359
-
360
- <p class="tag_title">See Also:</p>
361
- <ul class="see">
362
-
363
- <li><span class='object_link'><a href="Mock.html#expects-instance_method" title="Mocha::Mock#expects (method)">Mock#expects</a></span></li>
364
-
365
- </ul>
366
-
367
- </div><table class="source_code">
368
- <tr>
369
- <td>
370
- <pre class="lines">
371
-
372
-
373
- 71
374
- 72
375
- 73
376
- 74
377
- 75
378
- 76
379
- 77
380
- 78
381
- 79
382
- 80
383
- 81
384
- 82
385
- 83
386
- 84
387
- 85
388
- 86
389
- 87
390
- 88
391
- 89
392
- 90</pre>
393
- </td>
394
- <td>
395
- <pre class="code"><span class="info file"># File 'lib/mocha/object_methods.rb', line 71</span>
396
-
397
- <span class='kw'>def</span> <span class='id identifier rubyid_expects'>expects</span><span class='lparen'>(</span><span class='id identifier rubyid_expected_methods_vs_return_values'>expected_methods_vs_return_values</span><span class='rparen'>)</span>
398
- <span class='kw'>if</span> <span class='id identifier rubyid_expected_methods_vs_return_values'>expected_methods_vs_return_values</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>the[^a-z]*spanish[^a-z]*inquisition</span><span class='regexp_end'>/i</span></span>
399
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="ExpectationErrorFactory.html" title="Mocha::ExpectationErrorFactory (class)">ExpectationErrorFactory</a></span></span><span class='period'>.</span><span class='id identifier rubyid_build'>build</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NOBODY EXPECTS THE SPANISH INQUISITION!</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
400
- <span class='kw'>end</span>
401
- <span class='kw'>if</span> <span class='id identifier rubyid_frozen?'>frozen?</span>
402
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="StubbingError.html" title="Mocha::StubbingError (class)">StubbingError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>can&#39;t stub method on frozen object: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_mocha_inspect'>mocha_inspect</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_caller'>caller</span><span class='rparen'>)</span>
403
- <span class='kw'>end</span>
404
- <span class='id identifier rubyid_expectation'>expectation</span> <span class='op'>=</span> <span class='kw'>nil</span>
405
- <span class='id identifier rubyid_mockery'>mockery</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Mocha.html" title="Mocha (module)">Mocha</a></span></span><span class='op'>::</span><span class='const'>Mockery</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span>
406
- <span class='id identifier rubyid_iterator'>iterator</span> <span class='op'>=</span> <span class='const'>ArgumentIterator</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_expected_methods_vs_return_values'>expected_methods_vs_return_values</span><span class='rparen'>)</span>
407
- <span class='id identifier rubyid_iterator'>iterator</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='op'>|</span>
408
- <span class='id identifier rubyid_method_name'>method_name</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
409
- <span class='id identifier rubyid_mockery'>mockery</span><span class='period'>.</span><span class='id identifier rubyid_on_stubbing'>on_stubbing</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_method_name'>method_name</span><span class='rparen'>)</span>
410
- <span class='id identifier rubyid_method'>method</span> <span class='op'>=</span> <span class='id identifier rubyid_stubba_method'>stubba_method</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_stubba_object'>stubba_object</span><span class='comma'>,</span> <span class='id identifier rubyid_method_name'>method_name</span><span class='rparen'>)</span>
411
- <span class='id identifier rubyid_mockery'>mockery</span><span class='period'>.</span><span class='id identifier rubyid_stubba'>stubba</span><span class='period'>.</span><span class='id identifier rubyid_stub'>stub</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
412
- <span class='id identifier rubyid_expectation'>expectation</span> <span class='op'>=</span> <span class='id identifier rubyid_mocha'>mocha</span><span class='period'>.</span><span class='id identifier rubyid_expects'>expects</span><span class='lparen'>(</span><span class='id identifier rubyid_method_name'>method_name</span><span class='comma'>,</span> <span class='id identifier rubyid_caller'>caller</span><span class='rparen'>)</span>
413
- <span class='id identifier rubyid_expectation'>expectation</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
414
- <span class='kw'>end</span>
415
- <span class='id identifier rubyid_expectation'>expectation</span>
416
- <span class='kw'>end</span></pre>
417
- </td>
418
- </tr>
419
- </table>
420
- </div>
421
-
422
- <div class="method_details ">
423
- <h3 class="signature " id="stubs-instance_method">
424
-
425
-
426
- <span class="overload">#<strong>stubs</strong>(method_name) &#x21d2; <tt><span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span></tt> </span>
427
-
428
- <span class="overload">#<strong>stubs</strong>(stubbed_methods_vs_return_values) &#x21d2; <tt><span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span></tt> </span>
429
-
430
-
431
-
432
-
433
-
434
-
435
- </h3><div class="docstring">
436
- <div class="discussion">
437
-
438
- <p>Adds an expectation that the specified method may be called any number of times with any parameters.</p>
439
-
440
- <p>The original implementation of the method is replaced during the test and then restored at the end of the test. The temporary replacement method has the same visibility as the original method.</p>
441
-
442
-
443
- </div>
444
- </div>
445
- <div class="tags">
446
-
447
- <div class="examples">
448
- <p class="tag_title">Examples:</p>
449
-
450
-
451
- <p class="example_title"><div class='inline'>
452
- <p>Setting up a stubbed methods on a non-mock object.</p>
453
- </div></p>
454
-
455
- <pre class="example code"><code><span class='id identifier rubyid_product'>product</span> <span class='op'>=</span> <span class='const'>Product</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
456
- <span class='id identifier rubyid_product'>product</span><span class='period'>.</span><span class='id identifier rubyid_stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:save</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span>
457
- <span class='id identifier rubyid_assert_equal'>assert_equal</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_product'>product</span><span class='period'>.</span><span class='id identifier rubyid_save'>save</span></code></pre>
458
-
459
-
460
- <p class="example_title"><div class='inline'>
461
- <p>Setting up multiple stubbed methods on a non-mock object.</p>
462
- </div></p>
463
-
464
- <pre class="example code"><code><span class='id identifier rubyid_product'>product</span> <span class='op'>=</span> <span class='const'>Product</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
465
- <span class='id identifier rubyid_product'>product</span><span class='period'>.</span><span class='id identifier rubyid_stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:valid?</span> <span class='op'>=&gt;</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:save</span> <span class='op'>=&gt;</span> <span class='kw'>true</span><span class='rparen'>)</span>
466
-
467
- <span class='comment'># exactly equivalent to
468
- </span>
469
- <span class='id identifier rubyid_product'>product</span> <span class='op'>=</span> <span class='const'>Product</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
470
- <span class='id identifier rubyid_product'>product</span><span class='period'>.</span><span class='id identifier rubyid_stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:valid?</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span>
471
- <span class='id identifier rubyid_product'>product</span><span class='period'>.</span><span class='id identifier rubyid_stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:save</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span></code></pre>
472
-
473
- </div>
474
-
475
- <p class="tag_title">Overloads:</p>
476
- <ul class="overload">
477
-
478
-
479
- <li class="overload_item">
480
- <span class="signature">#<strong>stubs</strong>(method_name) &#x21d2; <tt><span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span></tt> </span>
481
- <div class="docstring">
482
- <div class="discussion">
483
-
484
-
485
- </div>
486
- </div>
487
- <div class="tags">
488
- <p class="tag_title">Parameters:</p>
489
- <ul class="param">
490
-
491
- <li>
492
-
493
- <span class='name'>method_name</span>
494
-
495
-
496
- <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
497
-
498
-
499
-
500
- &mdash;
501
- <div class='inline'>
502
- <p>name of stubbed method</p>
503
- </div>
504
-
505
- </li>
506
-
507
- </ul>
508
-
509
-
510
- </div>
511
- </li>
512
-
513
-
514
- <li class="overload_item">
515
- <span class="signature">#<strong>stubs</strong>(stubbed_methods_vs_return_values) &#x21d2; <tt><span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span></tt> </span>
516
- <div class="docstring">
517
- <div class="discussion">
518
-
519
-
520
- </div>
521
- </div>
522
- <div class="tags">
523
- <p class="tag_title">Parameters:</p>
524
- <ul class="param">
525
-
526
- <li>
527
-
528
- <span class='name'>stubbed_methods_vs_return_values</span>
529
-
530
-
531
- <span class='type'>(<tt>Hash</tt>)</span>
532
-
533
-
534
-
535
- &mdash;
536
- <div class='inline'>
537
- <p>stubbed method name symbols as keys and corresponding return values as values - these stubbed methods are setup as if <span class='object_link'><a href="#stubs-instance_method" title="Mocha::ObjectMethods#stubs (method)">#stubs</a></span> were called multiple times.</p>
538
- </div>
539
-
540
- </li>
541
-
542
- </ul>
543
-
544
-
545
- </div>
546
- </li>
547
-
548
- </ul>
549
-
550
- <p class="tag_title">Returns:</p>
551
- <ul class="return">
552
-
553
- <li>
554
-
555
-
556
- <span class='type'>(<tt><span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span></tt>)</span>
557
-
558
-
559
-
560
- &mdash;
561
- <div class='inline'>
562
- <p>last-built expectation which can be further modified by methods on <span class='object_link'><a href="Expectation.html" title="Mocha::Expectation (class)">Expectation</a></span>.</p>
563
- </div>
564
-
565
- </li>
566
-
567
- </ul>
568
- <p class="tag_title">Raises:</p>
569
- <ul class="raise">
570
-
571
- <li>
572
-
573
-
574
- <span class='type'>(<tt><span class='object_link'><a href="StubbingError.html" title="Mocha::StubbingError (class)">StubbingError</a></span></tt>)</span>
575
-
576
-
577
-
578
- &mdash;
579
- <div class='inline'>
580
- <p>if attempting to stub method which is not allowed.</p>
581
- </div>
582
-
583
- </li>
584
-
585
- </ul>
586
-
587
- <p class="tag_title">See Also:</p>
588
- <ul class="see">
589
-
590
- <li><span class='object_link'><a href="Mock.html#stubs-instance_method" title="Mocha::Mock#stubs (method)">Mock#stubs</a></span></li>
591
-
592
- </ul>
593
-
594
- </div><table class="source_code">
595
- <tr>
596
- <td>
597
- <pre class="lines">
598
-
599
-
600
- 120
601
- 121
602
- 122
603
- 123
604
- 124
605
- 125
606
- 126
607
- 127
608
- 128
609
- 129
610
- 130
611
- 131
612
- 132
613
- 133
614
- 134
615
- 135
616
- 136</pre>
617
- </td>
618
- <td>
619
- <pre class="code"><span class="info file"># File 'lib/mocha/object_methods.rb', line 120</span>
620
-
621
- <span class='kw'>def</span> <span class='id identifier rubyid_stubs'>stubs</span><span class='lparen'>(</span><span class='id identifier rubyid_stubbed_methods_vs_return_values'>stubbed_methods_vs_return_values</span><span class='rparen'>)</span>
622
- <span class='kw'>if</span> <span class='id identifier rubyid_frozen?'>frozen?</span>
623
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="StubbingError.html" title="Mocha::StubbingError (class)">StubbingError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>can&#39;t stub method on frozen object: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_mocha_inspect'>mocha_inspect</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_caller'>caller</span><span class='rparen'>)</span>
624
- <span class='kw'>end</span>
625
- <span class='id identifier rubyid_expectation'>expectation</span> <span class='op'>=</span> <span class='kw'>nil</span>
626
- <span class='id identifier rubyid_mockery'>mockery</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Mocha.html" title="Mocha (module)">Mocha</a></span></span><span class='op'>::</span><span class='const'>Mockery</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span>
627
- <span class='id identifier rubyid_iterator'>iterator</span> <span class='op'>=</span> <span class='const'>ArgumentIterator</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_stubbed_methods_vs_return_values'>stubbed_methods_vs_return_values</span><span class='rparen'>)</span>
628
- <span class='id identifier rubyid_iterator'>iterator</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='op'>|</span>
629
- <span class='id identifier rubyid_method_name'>method_name</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
630
- <span class='id identifier rubyid_mockery'>mockery</span><span class='period'>.</span><span class='id identifier rubyid_on_stubbing'>on_stubbing</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_method_name'>method_name</span><span class='rparen'>)</span>
631
- <span class='id identifier rubyid_method'>method</span> <span class='op'>=</span> <span class='id identifier rubyid_stubba_method'>stubba_method</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_stubba_object'>stubba_object</span><span class='comma'>,</span> <span class='id identifier rubyid_method_name'>method_name</span><span class='rparen'>)</span>
632
- <span class='id identifier rubyid_mockery'>mockery</span><span class='period'>.</span><span class='id identifier rubyid_stubba'>stubba</span><span class='period'>.</span><span class='id identifier rubyid_stub'>stub</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
633
- <span class='id identifier rubyid_expectation'>expectation</span> <span class='op'>=</span> <span class='id identifier rubyid_mocha'>mocha</span><span class='period'>.</span><span class='id identifier rubyid_stubs'>stubs</span><span class='lparen'>(</span><span class='id identifier rubyid_method_name'>method_name</span><span class='comma'>,</span> <span class='id identifier rubyid_caller'>caller</span><span class='rparen'>)</span>
634
- <span class='id identifier rubyid_expectation'>expectation</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
635
- <span class='kw'>end</span>
636
- <span class='id identifier rubyid_expectation'>expectation</span>
637
- <span class='kw'>end</span></pre>
638
- </td>
639
- </tr>
640
- </table>
641
- </div>
642
-
643
- <div class="method_details ">
644
- <h3 class="signature " id="unstub-instance_method">
645
-
646
- #<strong>unstub</strong>(*method_names) &#x21d2; <tt><span class='object_link'>Object</span></tt>
647
-
648
-
649
-
650
-
651
-
652
- </h3><div class="docstring">
653
- <div class="discussion">
654
-
655
- <p>Removes the specified stubbed methods (added by calls to <span class='object_link'><a href="#expects-instance_method" title="Mocha::ObjectMethods#expects (method)">#expects</a></span> or <span class='object_link'><a href="#stubs-instance_method" title="Mocha::ObjectMethods#stubs (method)">#stubs</a></span>) and all expectations associated with them.</p>
656
-
657
- <p>Restores the original behaviour of the methods before they were stubbed. This is normally done automatically at the end of each test, but in some circumstances you may want to do it <strong>before</strong> the end of the test.</p>
658
-
659
- <p>WARNING: If you <span class='object_link'><a href="#unstub-instance_method" title="Mocha::ObjectMethods#unstub (method)">#unstub</a></span> a method which still has unsatisfied expectations, you may be removing the only way those expectations can be satisfied. Use <span class='object_link'><a href="#unstub-instance_method" title="Mocha::ObjectMethods#unstub (method)">#unstub</a></span> with care.</p>
660
-
661
-
662
- </div>
663
- </div>
664
- <div class="tags">
665
-
666
- <div class="examples">
667
- <p class="tag_title">Examples:</p>
668
-
669
-
670
- <p class="example_title"><div class='inline'>
671
- <p>Stubbing and unstubbing a method on a real (non-mock) object.</p>
672
- </div></p>
673
-
674
- <pre class="example code"><code><span class='id identifier rubyid_multiplier'>multiplier</span> <span class='op'>=</span> <span class='const'>Multiplier</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
675
- <span class='id identifier rubyid_multiplier'>multiplier</span><span class='period'>.</span><span class='id identifier rubyid_double'>double</span><span class='lparen'>(</span><span class='int'>2</span><span class='rparen'>)</span> <span class='comment'># =&gt; 4
676
- </span><span class='id identifier rubyid_multiplier'>multiplier</span><span class='period'>.</span><span class='id identifier rubyid_stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:double</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_raises'>raises</span> <span class='comment'># new behaviour defined
677
- </span><span class='id identifier rubyid_multiplier'>multiplier</span><span class='period'>.</span><span class='id identifier rubyid_double'>double</span><span class='lparen'>(</span><span class='int'>2</span><span class='rparen'>)</span> <span class='comment'># =&gt; raises exception
678
- </span><span class='id identifier rubyid_multiplier'>multiplier</span><span class='period'>.</span><span class='id identifier rubyid_unstub'>unstub</span><span class='lparen'>(</span><span class='symbol'>:double</span><span class='rparen'>)</span> <span class='comment'># original behaviour restored
679
- </span><span class='id identifier rubyid_multiplier'>multiplier</span><span class='period'>.</span><span class='id identifier rubyid_double'>double</span><span class='lparen'>(</span><span class='int'>2</span><span class='rparen'>)</span> <span class='comment'># =&gt; 4</span></code></pre>
680
-
681
-
682
- <p class="example_title"><div class='inline'>
683
- <p>Unstubbing multiple methods on a real (non-mock) object.</p>
684
- </div></p>
685
-
686
- <pre class="example code"><code><span class='id identifier rubyid_multiplier'>multiplier</span><span class='period'>.</span><span class='id identifier rubyid_unstub'>unstub</span><span class='lparen'>(</span><span class='symbol'>:double</span><span class='comma'>,</span> <span class='symbol'>:triple</span><span class='rparen'>)</span>
687
-
688
- <span class='comment'># exactly equivalent to
689
- </span>
690
- <span class='id identifier rubyid_multiplier'>multiplier</span><span class='period'>.</span><span class='id identifier rubyid_unstub'>unstub</span><span class='lparen'>(</span><span class='symbol'>:double</span><span class='rparen'>)</span>
691
- <span class='id identifier rubyid_multiplier'>multiplier</span><span class='period'>.</span><span class='id identifier rubyid_unstub'>unstub</span><span class='lparen'>(</span><span class='symbol'>:triple</span><span class='rparen'>)</span></code></pre>
692
-
693
- </div>
694
- <p class="tag_title">Parameters:</p>
695
- <ul class="param">
696
-
697
- <li>
698
-
699
- <span class='name'>method_names</span>
700
-
701
-
702
- <span class='type'>(<tt>Array&lt;Symbol&gt;</tt>)</span>
703
-
704
-
705
-
706
- &mdash;
707
- <div class='inline'>
708
- <p>names of methods to unstub.</p>
709
- </div>
710
-
711
- </li>
712
-
713
- </ul>
714
-
715
-
716
- </div><table class="source_code">
717
- <tr>
718
- <td>
719
- <pre class="lines">
720
-
721
-
722
- 161
723
- 162
724
- 163
725
- 164
726
- 165
727
- 166
728
- 167</pre>
729
- </td>
730
- <td>
731
- <pre class="code"><span class="info file"># File 'lib/mocha/object_methods.rb', line 161</span>
732
-
733
- <span class='kw'>def</span> <span class='id identifier rubyid_unstub'>unstub</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_method_names'>method_names</span><span class='rparen'>)</span>
734
- <span class='id identifier rubyid_mockery'>mockery</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Mocha.html" title="Mocha (module)">Mocha</a></span></span><span class='op'>::</span><span class='const'>Mockery</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span>
735
- <span class='id identifier rubyid_method_names'>method_names</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_method_name'>method_name</span><span class='op'>|</span>
736
- <span class='id identifier rubyid_method'>method</span> <span class='op'>=</span> <span class='id identifier rubyid_stubba_method'>stubba_method</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_stubba_object'>stubba_object</span><span class='comma'>,</span> <span class='id identifier rubyid_method_name'>method_name</span><span class='rparen'>)</span>
737
- <span class='id identifier rubyid_mockery'>mockery</span><span class='period'>.</span><span class='id identifier rubyid_stubba'>stubba</span><span class='period'>.</span><span class='id identifier rubyid_unstub'>unstub</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
738
- <span class='kw'>end</span>
739
- <span class='kw'>end</span></pre>
740
- </td>
741
- </tr>
742
- </table>
743
- </div>
744
-
745
- </div>
746
-
747
- <script async src="https://www.googletagmanager.com/gtag/js?id=UA-625523-7"></script>
748
- <script>
749
- window.dataLayer = window.dataLayer || [];
750
- function gtag(){dataLayer.push(arguments);}
751
- gtag('js', new Date());
752
-
753
- gtag('config', 'UA-625523-7');
754
- </script>
755
- </div>
756
-
757
- <div id="footer">
758
- Generated on Sat Jan 4 17:36:47 2020 by
759
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
760
- 0.9.20 (ruby-2.6.5).
761
- </div>
762
-
763
- </div>
764
- </body>
765
- </html>