mocha 1.1.0 → 1.13.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 (263) hide show
  1. checksums.yaml +5 -5
  2. data/.github/FUNDING.yml +1 -0
  3. data/.rubocop.yml +61 -0
  4. data/.rubocop_todo.yml +27 -0
  5. data/.yardopts +1 -0
  6. data/CONTRIBUTING.md +4 -9
  7. data/README.md +114 -28
  8. data/RELEASE.md +248 -1
  9. data/Rakefile +53 -35
  10. data/gemfiles/Gemfile.test-unit.latest +5 -1
  11. data/init.rb +1 -3
  12. data/lib/mocha/any_instance_method.rb +12 -72
  13. data/lib/mocha/api.rb +121 -56
  14. data/lib/mocha/argument_iterator.rb +4 -8
  15. data/lib/mocha/backtrace_filter.rb +1 -5
  16. data/lib/mocha/block_matcher.rb +31 -0
  17. data/lib/mocha/cardinality.rb +60 -49
  18. data/lib/mocha/central.rb +21 -12
  19. data/lib/mocha/change_state_side_effect.rb +0 -4
  20. data/lib/mocha/class_methods.rb +19 -20
  21. data/lib/mocha/configuration.rb +361 -18
  22. data/lib/mocha/debug.rb +3 -2
  23. data/lib/mocha/deprecation.rb +8 -11
  24. data/lib/mocha/detection/mini_test.rb +0 -2
  25. data/lib/mocha/detection/test_unit.rb +3 -5
  26. data/lib/mocha/error_with_filtered_backtrace.rb +13 -0
  27. data/lib/mocha/exception_raiser.rb +4 -6
  28. data/lib/mocha/expectation.rb +125 -89
  29. data/lib/mocha/expectation_error.rb +1 -1
  30. data/lib/mocha/expectation_error_factory.rb +0 -1
  31. data/lib/mocha/expectation_list.rb +7 -11
  32. data/lib/mocha/hooks.rb +1 -3
  33. data/lib/mocha/in_state_ordering_constraint.rb +0 -4
  34. data/lib/mocha/inspect.rb +30 -38
  35. data/lib/mocha/instance_method.rb +15 -8
  36. data/lib/mocha/integration/mini_test/adapter.rb +2 -4
  37. data/lib/mocha/integration/mini_test/exception_translation.rb +1 -1
  38. data/lib/mocha/integration/mini_test/nothing.rb +4 -4
  39. data/lib/mocha/integration/mini_test/version_13.rb +4 -1
  40. data/lib/mocha/integration/mini_test/version_140.rb +4 -1
  41. data/lib/mocha/integration/mini_test/version_141.rb +4 -1
  42. data/lib/mocha/integration/mini_test/version_142_to_172.rb +4 -1
  43. data/lib/mocha/integration/mini_test/version_200.rb +4 -1
  44. data/lib/mocha/integration/mini_test/version_201_to_222.rb +4 -1
  45. data/lib/mocha/integration/mini_test/version_2110_to_2111.rb +4 -1
  46. data/lib/mocha/integration/mini_test/version_2112_to_320.rb +4 -1
  47. data/lib/mocha/integration/mini_test/version_230_to_2101.rb +4 -1
  48. data/lib/mocha/integration/mini_test.rb +7 -0
  49. data/lib/mocha/integration/monkey_patcher.rb +8 -2
  50. data/lib/mocha/integration/test_unit/adapter.rb +5 -6
  51. data/lib/mocha/integration/test_unit/gem_version_200.rb +5 -2
  52. data/lib/mocha/integration/test_unit/gem_version_201_to_202.rb +5 -2
  53. data/lib/mocha/integration/test_unit/gem_version_203_to_220.rb +5 -2
  54. data/lib/mocha/integration/test_unit/gem_version_230_to_250.rb +5 -2
  55. data/lib/mocha/integration/test_unit/nothing.rb +4 -4
  56. data/lib/mocha/integration/test_unit/ruby_version_185_and_below.rb +4 -1
  57. data/lib/mocha/integration/test_unit/ruby_version_186_and_above.rb +4 -1
  58. data/lib/mocha/integration/test_unit.rb +7 -0
  59. data/lib/mocha/integration.rb +2 -5
  60. data/lib/mocha/invocation.rb +77 -0
  61. data/lib/mocha/is_a.rb +0 -2
  62. data/lib/mocha/logger.rb +0 -4
  63. data/lib/mocha/macos_version.rb +5 -0
  64. data/lib/mocha/method_matcher.rb +1 -5
  65. data/lib/mocha/minitest.rb +8 -0
  66. data/lib/mocha/mock.rb +94 -46
  67. data/lib/mocha/mockery.rb +72 -98
  68. data/lib/mocha/names.rb +2 -12
  69. data/lib/mocha/not_initialized_error.rb +7 -0
  70. data/lib/mocha/object_methods.rb +25 -31
  71. data/lib/mocha/parameter_matchers/all_of.rb +2 -8
  72. data/lib/mocha/parameter_matchers/any_of.rb +2 -8
  73. data/lib/mocha/parameter_matchers/any_parameters.rb +3 -9
  74. data/lib/mocha/parameter_matchers/anything.rb +2 -8
  75. data/lib/mocha/parameter_matchers/base.rb +6 -12
  76. data/lib/mocha/parameter_matchers/equals.rb +1 -7
  77. data/lib/mocha/parameter_matchers/{query_string.rb → equivalent_uri.rb} +15 -15
  78. data/lib/mocha/parameter_matchers/has_entries.rb +2 -7
  79. data/lib/mocha/parameter_matchers/has_entry.rb +26 -21
  80. data/lib/mocha/parameter_matchers/has_key.rb +2 -7
  81. data/lib/mocha/parameter_matchers/has_keys.rb +53 -0
  82. data/lib/mocha/parameter_matchers/has_value.rb +2 -7
  83. data/lib/mocha/parameter_matchers/includes.rb +50 -8
  84. data/lib/mocha/parameter_matchers/instance_methods.rb +18 -0
  85. data/lib/mocha/parameter_matchers/instance_of.rb +0 -6
  86. data/lib/mocha/parameter_matchers/is_a.rb +2 -7
  87. data/lib/mocha/parameter_matchers/kind_of.rb +2 -6
  88. data/lib/mocha/parameter_matchers/not.rb +2 -7
  89. data/lib/mocha/parameter_matchers/optionally.rb +4 -10
  90. data/lib/mocha/parameter_matchers/regexp_matches.rb +0 -6
  91. data/lib/mocha/parameter_matchers/responds_with.rb +3 -8
  92. data/lib/mocha/parameter_matchers/yaml_equivalent.rb +2 -6
  93. data/lib/mocha/parameter_matchers.rb +3 -4
  94. data/lib/mocha/parameters_matcher.rb +6 -9
  95. data/lib/mocha/raised_exception.rb +11 -0
  96. data/lib/mocha/receivers.rb +10 -14
  97. data/lib/mocha/return_values.rb +4 -8
  98. data/lib/mocha/ruby_version.rb +4 -0
  99. data/lib/mocha/sequence.rb +4 -9
  100. data/lib/mocha/setup.rb +5 -0
  101. data/lib/mocha/single_return_value.rb +2 -5
  102. data/lib/mocha/singleton_class.rb +9 -0
  103. data/lib/mocha/state_machine.rb +33 -46
  104. data/lib/mocha/stubbed_method.rb +125 -0
  105. data/lib/mocha/stubbing_error.rb +2 -13
  106. data/lib/mocha/test_unit.rb +7 -2
  107. data/lib/mocha/thrower.rb +4 -6
  108. data/lib/mocha/thrown_object.rb +12 -0
  109. data/lib/mocha/version.rb +1 -1
  110. data/lib/mocha/yield_parameters.rb +7 -17
  111. data/lib/mocha.rb +8 -0
  112. data/mocha.gemspec +42 -40
  113. data/yard-templates/default/layout/html/google_analytics.erb +6 -9
  114. data/yard-templates/default/layout/html/setup.rb +2 -3
  115. metadata +45 -191
  116. data/bin/build-matrix +0 -71
  117. data/gemfiles/Gemfile.minitest.1.3.0 +0 -7
  118. data/gemfiles/Gemfile.minitest.1.4.0 +0 -7
  119. data/gemfiles/Gemfile.minitest.1.4.1 +0 -7
  120. data/gemfiles/Gemfile.minitest.1.4.2 +0 -7
  121. data/gemfiles/Gemfile.minitest.2.0.0 +0 -7
  122. data/gemfiles/Gemfile.minitest.2.0.1 +0 -7
  123. data/gemfiles/Gemfile.minitest.2.11.0 +0 -7
  124. data/gemfiles/Gemfile.minitest.2.11.2 +0 -7
  125. data/gemfiles/Gemfile.minitest.2.3.0 +0 -7
  126. data/gemfiles/Gemfile.test-unit.2.0.0 +0 -7
  127. data/gemfiles/Gemfile.test-unit.2.0.1 +0 -7
  128. data/gemfiles/Gemfile.test-unit.2.0.3 +0 -7
  129. data/lib/mocha/class_method.rb +0 -127
  130. data/lib/mocha/mini_test.rb +0 -3
  131. data/lib/mocha/module_method.rb +0 -16
  132. data/lib/mocha/module_methods.rb +0 -14
  133. data/lib/mocha/multiple_yields.rb +0 -20
  134. data/lib/mocha/no_yields.rb +0 -11
  135. data/lib/mocha/parameter_matchers/object.rb +0 -17
  136. data/lib/mocha/pretty_parameters.rb +0 -28
  137. data/lib/mocha/single_yield.rb +0 -18
  138. data/lib/mocha/standalone.rb +0 -4
  139. data/lib/mocha/unexpected_invocation.rb +0 -26
  140. data/lib/mocha_standalone.rb +0 -4
  141. data/test/acceptance/acceptance_test_helper.rb +0 -41
  142. data/test/acceptance/bug_18914_test.rb +0 -43
  143. data/test/acceptance/bug_21465_test.rb +0 -34
  144. data/test/acceptance/bug_21563_test.rb +0 -25
  145. data/test/acceptance/exception_rescue_test.rb +0 -55
  146. data/test/acceptance/expectations_on_multiple_methods_test.rb +0 -55
  147. data/test/acceptance/expected_invocation_count_test.rb +0 -232
  148. data/test/acceptance/failure_messages_test.rb +0 -64
  149. data/test/acceptance/issue_65_test.rb +0 -63
  150. data/test/acceptance/issue_70_test.rb +0 -55
  151. data/test/acceptance/mocha_example_test.rb +0 -98
  152. data/test/acceptance/mocha_test_result_test.rb +0 -84
  153. data/test/acceptance/mock_test.rb +0 -100
  154. data/test/acceptance/mock_with_initializer_block_test.rb +0 -51
  155. data/test/acceptance/mocked_methods_dispatch_test.rb +0 -78
  156. data/test/acceptance/multiple_expectations_failure_message_test.rb +0 -68
  157. data/test/acceptance/optional_parameters_test.rb +0 -70
  158. data/test/acceptance/parameter_matcher_test.rb +0 -337
  159. data/test/acceptance/partial_mocks_test.rb +0 -47
  160. data/test/acceptance/prepend_test.rb +0 -88
  161. data/test/acceptance/raise_exception_test.rb +0 -39
  162. data/test/acceptance/return_value_test.rb +0 -52
  163. data/test/acceptance/sequence_test.rb +0 -192
  164. data/test/acceptance/states_test.rb +0 -70
  165. data/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +0 -34
  166. data/test/acceptance/stub_any_instance_method_test.rb +0 -238
  167. data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +0 -106
  168. data/test/acceptance/stub_class_method_defined_on_class_test.rb +0 -78
  169. data/test/acceptance/stub_class_method_defined_on_module_test.rb +0 -75
  170. data/test/acceptance/stub_class_method_defined_on_superclass_test.rb +0 -112
  171. data/test/acceptance/stub_everything_test.rb +0 -56
  172. data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +0 -93
  173. data/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +0 -69
  174. data/test/acceptance/stub_instance_method_defined_on_class_test.rb +0 -69
  175. data/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +0 -75
  176. data/test/acceptance/stub_instance_method_defined_on_module_test.rb +0 -75
  177. data/test/acceptance/stub_instance_method_defined_on_object_class_test.rb +0 -75
  178. data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +0 -70
  179. data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +0 -72
  180. data/test/acceptance/stub_module_method_test.rb +0 -163
  181. data/test/acceptance/stub_test.rb +0 -52
  182. data/test/acceptance/stubba_example_test.rb +0 -102
  183. data/test/acceptance/stubba_test_result_test.rb +0 -66
  184. data/test/acceptance/stubbing_error_backtrace_test.rb +0 -64
  185. data/test/acceptance/stubbing_frozen_object_test.rb +0 -88
  186. data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +0 -48
  187. data/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -65
  188. data/test/acceptance/stubbing_nil_test.rb +0 -59
  189. data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -130
  190. data/test/acceptance/stubbing_non_existent_class_method_test.rb +0 -157
  191. data/test/acceptance/stubbing_non_existent_instance_method_test.rb +0 -147
  192. data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -130
  193. data/test/acceptance/stubbing_non_public_class_method_test.rb +0 -163
  194. data/test/acceptance/stubbing_non_public_instance_method_test.rb +0 -143
  195. data/test/acceptance/stubbing_on_non_mock_object_test.rb +0 -64
  196. data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +0 -35
  197. data/test/acceptance/throw_test.rb +0 -45
  198. data/test/acceptance/unexpected_invocation_test.rb +0 -25
  199. data/test/acceptance/unstubbing_test.rb +0 -168
  200. data/test/assertions.rb +0 -6
  201. data/test/deprecation_disabler.rb +0 -15
  202. data/test/execution_point.rb +0 -36
  203. data/test/integration/mini_test_test.rb +0 -8
  204. data/test/integration/shared_tests.rb +0 -174
  205. data/test/integration/test_unit_test.rb +0 -8
  206. data/test/method_definer.rb +0 -24
  207. data/test/mini_test_result.rb +0 -90
  208. data/test/minitest_result.rb +0 -49
  209. data/test/simple_counter.rb +0 -13
  210. data/test/test_helper.rb +0 -50
  211. data/test/test_runner.rb +0 -58
  212. data/test/test_unit_result.rb +0 -20
  213. data/test/unit/any_instance_method_test.rb +0 -132
  214. data/test/unit/array_inspect_test.rb +0 -16
  215. data/test/unit/backtrace_filter_test.rb +0 -19
  216. data/test/unit/cardinality_test.rb +0 -56
  217. data/test/unit/central_test.rb +0 -100
  218. data/test/unit/change_state_side_effect_test.rb +0 -41
  219. data/test/unit/class_method_test.rb +0 -223
  220. data/test/unit/class_methods_test.rb +0 -40
  221. data/test/unit/configuration_test.rb +0 -38
  222. data/test/unit/date_time_inspect_test.rb +0 -21
  223. data/test/unit/exception_raiser_test.rb +0 -42
  224. data/test/unit/expectation_list_test.rb +0 -82
  225. data/test/unit/expectation_test.rb +0 -497
  226. data/test/unit/hash_inspect_test.rb +0 -16
  227. data/test/unit/hooks_test.rb +0 -29
  228. data/test/unit/in_state_ordering_constraint_test.rb +0 -43
  229. data/test/unit/method_matcher_test.rb +0 -28
  230. data/test/unit/mock_test.rb +0 -341
  231. data/test/unit/mockery_test.rb +0 -151
  232. data/test/unit/module_methods_test.rb +0 -19
  233. data/test/unit/multiple_yields_test.rb +0 -18
  234. data/test/unit/no_yields_test.rb +0 -18
  235. data/test/unit/object_inspect_test.rb +0 -38
  236. data/test/unit/object_methods_test.rb +0 -46
  237. data/test/unit/parameter_matchers/all_of_test.rb +0 -26
  238. data/test/unit/parameter_matchers/any_of_test.rb +0 -26
  239. data/test/unit/parameter_matchers/anything_test.rb +0 -21
  240. data/test/unit/parameter_matchers/equals_test.rb +0 -25
  241. data/test/unit/parameter_matchers/has_entries_test.rb +0 -51
  242. data/test/unit/parameter_matchers/has_entry_test.rb +0 -129
  243. data/test/unit/parameter_matchers/has_key_test.rb +0 -55
  244. data/test/unit/parameter_matchers/has_value_test.rb +0 -57
  245. data/test/unit/parameter_matchers/includes_test.rb +0 -59
  246. data/test/unit/parameter_matchers/instance_of_test.rb +0 -25
  247. data/test/unit/parameter_matchers/is_a_test.rb +0 -25
  248. data/test/unit/parameter_matchers/kind_of_test.rb +0 -25
  249. data/test/unit/parameter_matchers/not_test.rb +0 -26
  250. data/test/unit/parameter_matchers/regexp_matches_test.rb +0 -46
  251. data/test/unit/parameter_matchers/responds_with_test.rb +0 -32
  252. data/test/unit/parameter_matchers/stub_matcher.rb +0 -27
  253. data/test/unit/parameter_matchers/yaml_equivalent_test.rb +0 -25
  254. data/test/unit/parameters_matcher_test.rb +0 -121
  255. data/test/unit/receivers_test.rb +0 -66
  256. data/test/unit/return_values_test.rb +0 -63
  257. data/test/unit/sequence_test.rb +0 -104
  258. data/test/unit/single_return_value_test.rb +0 -14
  259. data/test/unit/single_yield_test.rb +0 -18
  260. data/test/unit/state_machine_test.rb +0 -98
  261. data/test/unit/string_inspect_test.rb +0 -11
  262. data/test/unit/thrower_test.rb +0 -20
  263. data/test/unit/yield_parameters_test.rb +0 -93
metadata CHANGED
@@ -1,85 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mocha
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Mead
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-13 00:00:00.000000000 Z
11
+ date: 2021-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: metaclass
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: 0.0.1
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- version: 0.0.1
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rake
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - '>='
17
+ - - ">="
32
18
  - !ruby/object:Gem::Version
33
19
  version: '0'
34
20
  type: :development
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
- - - '>='
24
+ - - ">="
39
25
  - !ruby/object:Gem::Version
40
26
  version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: introspection
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
- - - ~>
31
+ - - "~>"
46
32
  - !ruby/object:Gem::Version
47
33
  version: 0.0.1
48
34
  type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - ~>
38
+ - - "~>"
53
39
  - !ruby/object:Gem::Version
54
40
  version: 0.0.1
55
41
  - !ruby/object:Gem::Dependency
56
- name: yard
42
+ name: minitest
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - '>='
45
+ - - ">="
60
46
  - !ruby/object:Gem::Version
61
47
  version: '0'
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - '>='
52
+ - - ">="
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
- name: redcarpet
56
+ name: rubocop
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - ~>
59
+ - - "<="
74
60
  - !ruby/object:Gem::Version
75
- version: '1'
61
+ version: 0.58.2
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - ~>
66
+ - - "<="
81
67
  - !ruby/object:Gem::Version
82
- version: '1'
68
+ version: 0.58.2
83
69
  description: Mocking and stubbing library with JMock/SchMock syntax, which allows
84
70
  mocking and stubbing of methods on real (non-mock) classes.
85
71
  email: mocha-developer@googlegroups.com
@@ -87,8 +73,11 @@ executables: []
87
73
  extensions: []
88
74
  extra_rdoc_files: []
89
75
  files:
90
- - .gemtest
91
- - .yardopts
76
+ - ".gemtest"
77
+ - ".github/FUNDING.yml"
78
+ - ".rubocop.yml"
79
+ - ".rubocop_todo.yml"
80
+ - ".yardopts"
92
81
  - CONTRIBUTING.md
93
82
  - COPYING.md
94
83
  - Gemfile
@@ -96,20 +85,7 @@ files:
96
85
  - README.md
97
86
  - RELEASE.md
98
87
  - Rakefile
99
- - bin/build-matrix
100
- - gemfiles/Gemfile.minitest.1.3.0
101
- - gemfiles/Gemfile.minitest.1.4.0
102
- - gemfiles/Gemfile.minitest.1.4.1
103
- - gemfiles/Gemfile.minitest.1.4.2
104
- - gemfiles/Gemfile.minitest.2.0.0
105
- - gemfiles/Gemfile.minitest.2.0.1
106
- - gemfiles/Gemfile.minitest.2.11.0
107
- - gemfiles/Gemfile.minitest.2.11.2
108
- - gemfiles/Gemfile.minitest.2.3.0
109
88
  - gemfiles/Gemfile.minitest.latest
110
- - gemfiles/Gemfile.test-unit.2.0.0
111
- - gemfiles/Gemfile.test-unit.2.0.1
112
- - gemfiles/Gemfile.test-unit.2.0.3
113
89
  - gemfiles/Gemfile.test-unit.latest
114
90
  - init.rb
115
91
  - lib/mocha.rb
@@ -117,16 +93,17 @@ files:
117
93
  - lib/mocha/api.rb
118
94
  - lib/mocha/argument_iterator.rb
119
95
  - lib/mocha/backtrace_filter.rb
96
+ - lib/mocha/block_matcher.rb
120
97
  - lib/mocha/cardinality.rb
121
98
  - lib/mocha/central.rb
122
99
  - lib/mocha/change_state_side_effect.rb
123
- - lib/mocha/class_method.rb
124
100
  - lib/mocha/class_methods.rb
125
101
  - lib/mocha/configuration.rb
126
102
  - lib/mocha/debug.rb
127
103
  - lib/mocha/deprecation.rb
128
104
  - lib/mocha/detection/mini_test.rb
129
105
  - lib/mocha/detection/test_unit.rb
106
+ - lib/mocha/error_with_filtered_backtrace.rb
130
107
  - lib/mocha/exception_raiser.rb
131
108
  - lib/mocha/expectation.rb
132
109
  - lib/mocha/expectation_error.rb
@@ -161,17 +138,16 @@ files:
161
138
  - lib/mocha/integration/test_unit/nothing.rb
162
139
  - lib/mocha/integration/test_unit/ruby_version_185_and_below.rb
163
140
  - lib/mocha/integration/test_unit/ruby_version_186_and_above.rb
141
+ - lib/mocha/invocation.rb
164
142
  - lib/mocha/is_a.rb
165
143
  - lib/mocha/logger.rb
144
+ - lib/mocha/macos_version.rb
166
145
  - lib/mocha/method_matcher.rb
167
- - lib/mocha/mini_test.rb
146
+ - lib/mocha/minitest.rb
168
147
  - lib/mocha/mock.rb
169
148
  - lib/mocha/mockery.rb
170
- - lib/mocha/module_method.rb
171
- - lib/mocha/module_methods.rb
172
- - lib/mocha/multiple_yields.rb
173
149
  - lib/mocha/names.rb
174
- - lib/mocha/no_yields.rb
150
+ - lib/mocha/not_initialized_error.rb
175
151
  - lib/mocha/object_methods.rb
176
152
  - lib/mocha/parameter_matchers.rb
177
153
  - lib/mocha/parameter_matchers/all_of.rb
@@ -180,186 +156,64 @@ files:
180
156
  - lib/mocha/parameter_matchers/anything.rb
181
157
  - lib/mocha/parameter_matchers/base.rb
182
158
  - lib/mocha/parameter_matchers/equals.rb
159
+ - lib/mocha/parameter_matchers/equivalent_uri.rb
183
160
  - lib/mocha/parameter_matchers/has_entries.rb
184
161
  - lib/mocha/parameter_matchers/has_entry.rb
185
162
  - lib/mocha/parameter_matchers/has_key.rb
163
+ - lib/mocha/parameter_matchers/has_keys.rb
186
164
  - lib/mocha/parameter_matchers/has_value.rb
187
165
  - lib/mocha/parameter_matchers/includes.rb
166
+ - lib/mocha/parameter_matchers/instance_methods.rb
188
167
  - lib/mocha/parameter_matchers/instance_of.rb
189
168
  - lib/mocha/parameter_matchers/is_a.rb
190
169
  - lib/mocha/parameter_matchers/kind_of.rb
191
170
  - lib/mocha/parameter_matchers/not.rb
192
- - lib/mocha/parameter_matchers/object.rb
193
171
  - lib/mocha/parameter_matchers/optionally.rb
194
- - lib/mocha/parameter_matchers/query_string.rb
195
172
  - lib/mocha/parameter_matchers/regexp_matches.rb
196
173
  - lib/mocha/parameter_matchers/responds_with.rb
197
174
  - lib/mocha/parameter_matchers/yaml_equivalent.rb
198
175
  - lib/mocha/parameters_matcher.rb
199
- - lib/mocha/pretty_parameters.rb
176
+ - lib/mocha/raised_exception.rb
200
177
  - lib/mocha/receivers.rb
201
178
  - lib/mocha/return_values.rb
179
+ - lib/mocha/ruby_version.rb
202
180
  - lib/mocha/sequence.rb
203
181
  - lib/mocha/setup.rb
204
182
  - lib/mocha/single_return_value.rb
205
- - lib/mocha/single_yield.rb
206
- - lib/mocha/standalone.rb
183
+ - lib/mocha/singleton_class.rb
207
184
  - lib/mocha/state_machine.rb
185
+ - lib/mocha/stubbed_method.rb
208
186
  - lib/mocha/stubbing_error.rb
209
187
  - lib/mocha/test_unit.rb
210
188
  - lib/mocha/thrower.rb
211
- - lib/mocha/unexpected_invocation.rb
189
+ - lib/mocha/thrown_object.rb
212
190
  - lib/mocha/version.rb
213
191
  - lib/mocha/yield_parameters.rb
214
- - lib/mocha_standalone.rb
215
192
  - mocha.gemspec
216
- - test/acceptance/acceptance_test_helper.rb
217
- - test/acceptance/bug_18914_test.rb
218
- - test/acceptance/bug_21465_test.rb
219
- - test/acceptance/bug_21563_test.rb
220
- - test/acceptance/exception_rescue_test.rb
221
- - test/acceptance/expectations_on_multiple_methods_test.rb
222
- - test/acceptance/expected_invocation_count_test.rb
223
- - test/acceptance/failure_messages_test.rb
224
- - test/acceptance/issue_65_test.rb
225
- - test/acceptance/issue_70_test.rb
226
- - test/acceptance/mocha_example_test.rb
227
- - test/acceptance/mocha_test_result_test.rb
228
- - test/acceptance/mock_test.rb
229
- - test/acceptance/mock_with_initializer_block_test.rb
230
- - test/acceptance/mocked_methods_dispatch_test.rb
231
- - test/acceptance/multiple_expectations_failure_message_test.rb
232
- - test/acceptance/optional_parameters_test.rb
233
- - test/acceptance/parameter_matcher_test.rb
234
- - test/acceptance/partial_mocks_test.rb
235
- - test/acceptance/prepend_test.rb
236
- - test/acceptance/raise_exception_test.rb
237
- - test/acceptance/return_value_test.rb
238
- - test/acceptance/sequence_test.rb
239
- - test/acceptance/states_test.rb
240
- - test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb
241
- - test/acceptance/stub_any_instance_method_test.rb
242
- - test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb
243
- - test/acceptance/stub_class_method_defined_on_class_test.rb
244
- - test/acceptance/stub_class_method_defined_on_module_test.rb
245
- - test/acceptance/stub_class_method_defined_on_superclass_test.rb
246
- - test/acceptance/stub_everything_test.rb
247
- - test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb
248
- - test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb
249
- - test/acceptance/stub_instance_method_defined_on_class_test.rb
250
- - test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb
251
- - test/acceptance/stub_instance_method_defined_on_module_test.rb
252
- - test/acceptance/stub_instance_method_defined_on_object_class_test.rb
253
- - test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb
254
- - test/acceptance/stub_instance_method_defined_on_superclass_test.rb
255
- - test/acceptance/stub_module_method_test.rb
256
- - test/acceptance/stub_test.rb
257
- - test/acceptance/stubba_example_test.rb
258
- - test/acceptance/stubba_test_result_test.rb
259
- - test/acceptance/stubbing_error_backtrace_test.rb
260
- - test/acceptance/stubbing_frozen_object_test.rb
261
- - test/acceptance/stubbing_method_accepting_block_parameter_test.rb
262
- - test/acceptance/stubbing_method_unnecessarily_test.rb
263
- - test/acceptance/stubbing_nil_test.rb
264
- - test/acceptance/stubbing_non_existent_any_instance_method_test.rb
265
- - test/acceptance/stubbing_non_existent_class_method_test.rb
266
- - test/acceptance/stubbing_non_existent_instance_method_test.rb
267
- - test/acceptance/stubbing_non_public_any_instance_method_test.rb
268
- - test/acceptance/stubbing_non_public_class_method_test.rb
269
- - test/acceptance/stubbing_non_public_instance_method_test.rb
270
- - test/acceptance/stubbing_on_non_mock_object_test.rb
271
- - test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb
272
- - test/acceptance/throw_test.rb
273
- - test/acceptance/unexpected_invocation_test.rb
274
- - test/acceptance/unstubbing_test.rb
275
- - test/assertions.rb
276
- - test/deprecation_disabler.rb
277
- - test/execution_point.rb
278
- - test/integration/mini_test_test.rb
279
- - test/integration/shared_tests.rb
280
- - test/integration/test_unit_test.rb
281
- - test/method_definer.rb
282
- - test/mini_test_result.rb
283
- - test/minitest_result.rb
284
- - test/simple_counter.rb
285
- - test/test_helper.rb
286
- - test/test_runner.rb
287
- - test/test_unit_result.rb
288
- - test/unit/any_instance_method_test.rb
289
- - test/unit/array_inspect_test.rb
290
- - test/unit/backtrace_filter_test.rb
291
- - test/unit/cardinality_test.rb
292
- - test/unit/central_test.rb
293
- - test/unit/change_state_side_effect_test.rb
294
- - test/unit/class_method_test.rb
295
- - test/unit/class_methods_test.rb
296
- - test/unit/configuration_test.rb
297
- - test/unit/date_time_inspect_test.rb
298
- - test/unit/exception_raiser_test.rb
299
- - test/unit/expectation_list_test.rb
300
- - test/unit/expectation_test.rb
301
- - test/unit/hash_inspect_test.rb
302
- - test/unit/hooks_test.rb
303
- - test/unit/in_state_ordering_constraint_test.rb
304
- - test/unit/method_matcher_test.rb
305
- - test/unit/mock_test.rb
306
- - test/unit/mockery_test.rb
307
- - test/unit/module_methods_test.rb
308
- - test/unit/multiple_yields_test.rb
309
- - test/unit/no_yields_test.rb
310
- - test/unit/object_inspect_test.rb
311
- - test/unit/object_methods_test.rb
312
- - test/unit/parameter_matchers/all_of_test.rb
313
- - test/unit/parameter_matchers/any_of_test.rb
314
- - test/unit/parameter_matchers/anything_test.rb
315
- - test/unit/parameter_matchers/equals_test.rb
316
- - test/unit/parameter_matchers/has_entries_test.rb
317
- - test/unit/parameter_matchers/has_entry_test.rb
318
- - test/unit/parameter_matchers/has_key_test.rb
319
- - test/unit/parameter_matchers/has_value_test.rb
320
- - test/unit/parameter_matchers/includes_test.rb
321
- - test/unit/parameter_matchers/instance_of_test.rb
322
- - test/unit/parameter_matchers/is_a_test.rb
323
- - test/unit/parameter_matchers/kind_of_test.rb
324
- - test/unit/parameter_matchers/not_test.rb
325
- - test/unit/parameter_matchers/regexp_matches_test.rb
326
- - test/unit/parameter_matchers/responds_with_test.rb
327
- - test/unit/parameter_matchers/stub_matcher.rb
328
- - test/unit/parameter_matchers/yaml_equivalent_test.rb
329
- - test/unit/parameters_matcher_test.rb
330
- - test/unit/receivers_test.rb
331
- - test/unit/return_values_test.rb
332
- - test/unit/sequence_test.rb
333
- - test/unit/single_return_value_test.rb
334
- - test/unit/single_yield_test.rb
335
- - test/unit/state_machine_test.rb
336
- - test/unit/string_inspect_test.rb
337
- - test/unit/thrower_test.rb
338
- - test/unit/yield_parameters_test.rb
339
193
  - yard-templates/default/layout/html/google_analytics.erb
340
194
  - yard-templates/default/layout/html/setup.rb
341
- homepage: http://gofreerange.com/mocha/docs
342
- licenses: []
195
+ homepage: https://mocha.jamesmead.org
196
+ licenses:
197
+ - MIT
198
+ - BSD-2-Clause
343
199
  metadata: {}
344
- post_install_message:
200
+ post_install_message:
345
201
  rdoc_options: []
346
202
  require_paths:
347
203
  - lib
348
204
  required_ruby_version: !ruby/object:Gem::Requirement
349
205
  requirements:
350
- - - '>='
206
+ - - ">="
351
207
  - !ruby/object:Gem::Version
352
- version: '0'
208
+ version: 1.8.7
353
209
  required_rubygems_version: !ruby/object:Gem::Requirement
354
210
  requirements:
355
- - - '>='
211
+ - - ">="
356
212
  - !ruby/object:Gem::Version
357
213
  version: '0'
358
214
  requirements: []
359
- rubyforge_project: mocha
360
- rubygems_version: 2.0.14
361
- signing_key:
362
- specification_version: 3
215
+ rubygems_version: 3.0.3
216
+ signing_key:
217
+ specification_version: 4
363
218
  summary: Mocking and stubbing library
364
219
  test_files: []
365
- has_rdoc: yard
data/bin/build-matrix DELETED
@@ -1,71 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'yaml'
4
-
5
- def execute(*commands)
6
- commands.each do |command|
7
- system(command)
8
- unless $?.success?
9
- message = [
10
- "Executing shell command failed.",
11
- " Command: #{command}",
12
- " Status: #{$?.exitstatus}"
13
- ].join("\n")
14
- raise message
15
- end
16
- end
17
- end
18
-
19
- def reset_bundle
20
- execute(
21
- "rm -rf .bundle/gems",
22
- "rm -rf gemfiles/.bundle/gems",
23
- "rm -f *.lock",
24
- "rm -f gemfiles/*.lock"
25
- )
26
- end
27
-
28
- def with_rbenv(command)
29
- %{export PATH="$HOME/.rbenv/bin:$PATH"; eval "$(rbenv init -)"; #{command}}
30
- end
31
-
32
- def run(ruby_version, gemfile, task = "test")
33
- ENV["RBENV_VERSION"] = ruby_version
34
- ENV["BUNDLE_GEMFILE"] = gemfile
35
- ENV["MOCHA_OPTIONS"] = "debug"
36
- ENV["MOCHA_NO_DOCS"] = "true"
37
- reset_bundle
38
- execute(
39
- with_rbenv("bundle install --gemfile=#{gemfile}"),
40
- with_rbenv("bundle exec rake #{task}"),
41
- )
42
- end
43
-
44
- travis_config = YAML.load(File.read('.travis.yml'))
45
- build_configs = travis_config['matrix']['include']
46
- travis_config['rvm'].each do |ruby_version|
47
- travis_config['gemfile'].each do |gemfile|
48
- travis_config['env'].each do |env|
49
- build_configs << { 'rvm' => ruby_version, 'gemfile' => gemfile, 'env' => env }
50
- end
51
- end
52
- end
53
-
54
- build_configs.each do |config|
55
- ruby_version = config['rvm']
56
- gemfile = config['gemfile']
57
- environment_variables = Hash[*config['env'].split.flat_map { |e| e.split('=') }]
58
- original_environment_variables = {}
59
- begin
60
- environment_variables.each do |k, v|
61
- original_environment_variables[k] = ENV[k]
62
- ENV[k] = v
63
- end
64
- p [ruby_version, gemfile, environment_variables]
65
- run(ruby_version, gemfile)
66
- ensure
67
- original_environment_variables.each do |k, v|
68
- ENV[k] = v
69
- end
70
- end
71
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "minitest", "1.3.0"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "minitest", "1.4.0"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "minitest", "1.4.1"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "minitest", "1.4.2"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "minitest", "2.0.0"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "minitest", "2.0.1"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "minitest", "2.11.0"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "minitest", "2.11.2"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "minitest", "2.3.0"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "test-unit", "2.0.0"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "test-unit", "2.0.1"
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path=>"../"
4
-
5
- group :development do
6
- gem "test-unit", "2.0.3"
7
- end
@@ -1,127 +0,0 @@
1
- require 'metaclass'
2
-
3
- module Mocha
4
-
5
- class ClassMethod
6
-
7
- PrependedModule = Class.new(Module)
8
-
9
- attr_reader :stubbee, :method
10
-
11
- def initialize(stubbee, method)
12
- @stubbee = stubbee
13
- @original_method, @original_visibility = nil, nil
14
- @method = RUBY_VERSION < '1.9' ? method.to_s : method.to_sym
15
- end
16
-
17
- def stub
18
- hide_original_method
19
- define_new_method
20
- end
21
-
22
- def unstub
23
- remove_new_method
24
- restore_original_method
25
- mock.unstub(method.to_sym)
26
- unless mock.any_expectations?
27
- reset_mocha
28
- end
29
- end
30
-
31
- def mock
32
- stubbee.mocha
33
- end
34
-
35
- def reset_mocha
36
- stubbee.reset_mocha
37
- end
38
-
39
- def hide_original_method
40
- if method_exists?(method)
41
- begin
42
- @original_method = stubbee._method(method)
43
- @original_visibility = :public
44
- if stubbee.__metaclass__.protected_instance_methods.include?(method)
45
- @original_visibility = :protected
46
- elsif stubbee.__metaclass__.private_instance_methods.include?(method)
47
- @original_visibility = :private
48
- end
49
- if @original_method && @original_method.owner == stubbee.__metaclass__
50
- stubbee.__metaclass__.send(:remove_method, method)
51
- end
52
-
53
- include_prepended_module if RUBY_VERSION >= '2.0'
54
- rescue NameError
55
- # deal with nasties like ActiveRecord::Associations::AssociationProxy
56
- end
57
- end
58
- end
59
-
60
- def define_new_method
61
- definition_target.class_eval(<<-CODE, __FILE__, __LINE__ + 1)
62
- def #{method}(*args, &block)
63
- mocha.method_missing(:#{method}, *args, &block)
64
- end
65
- CODE
66
- if @original_visibility
67
- Module.instance_method(@original_visibility).bind(definition_target).call(method)
68
- end
69
- end
70
-
71
- def remove_new_method
72
- definition_target.send(:remove_method, method)
73
- end
74
-
75
- def restore_original_method
76
- if @original_method && @original_method.owner == stubbee.__metaclass__
77
- if RUBY_VERSION < '1.9'
78
- original_method = @original_method
79
- stubbee.__metaclass__.send(:define_method, method) do |*args, &block|
80
- original_method.call(*args, &block)
81
- end
82
- else
83
- stubbee.__metaclass__.send(:define_method, method, @original_method)
84
- end
85
- end
86
- if @original_visibility
87
- Module.instance_method(@original_visibility).bind(stubbee.__metaclass__).call(method)
88
- end
89
- end
90
-
91
- def matches?(other)
92
- return false unless (other.class == self.class)
93
- (stubbee.object_id == other.stubbee.object_id) and (method == other.method)
94
- end
95
-
96
- alias_method :==, :eql?
97
-
98
- def to_s
99
- "#{stubbee}.#{method}"
100
- end
101
-
102
- def method_exists?(method)
103
- symbol = method.to_sym
104
- __metaclass__ = stubbee.__metaclass__
105
- __metaclass__.public_method_defined?(symbol) || __metaclass__.protected_method_defined?(symbol) || __metaclass__.private_method_defined?(symbol)
106
- end
107
-
108
- private
109
-
110
- def include_prepended_module
111
- possible_prepended_modules = stubbee.__metaclass__.ancestors.take_while do |mod|
112
- !(Class === mod)
113
- end
114
-
115
- if possible_prepended_modules.any?
116
- @definition_target = PrependedModule.new
117
- stubbee.__metaclass__.__send__ :prepend, @definition_target
118
- end
119
- end
120
-
121
- def definition_target
122
- @definition_target ||= stubbee.__metaclass__
123
- end
124
-
125
- end
126
-
127
- end
@@ -1,3 +0,0 @@
1
- require "mocha/integration/mini_test"
2
-
3
- Mocha::Integration::MiniTest.activate