mocha 1.1.0 → 2.1.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 (266) hide show
  1. checksums.yaml +5 -5
  2. data/.github/FUNDING.yml +1 -0
  3. data/.rubocop.yml +53 -0
  4. data/.rubocop_todo.yml +27 -0
  5. data/.yardopts +1 -1
  6. data/CONTRIBUTING.md +4 -9
  7. data/COPYING.md +2 -2
  8. data/Gemfile +27 -0
  9. data/MIT-LICENSE.md +1 -1
  10. data/README.md +120 -30
  11. data/RELEASE.md +393 -1
  12. data/Rakefile +61 -50
  13. data/gemfiles/Gemfile.minitest.latest +1 -0
  14. data/gemfiles/Gemfile.test-unit.latest +1 -0
  15. data/lib/mocha/any_instance_method.rb +9 -74
  16. data/lib/mocha/api.rb +85 -69
  17. data/lib/mocha/argument_iterator.rb +4 -8
  18. data/lib/mocha/backtrace_filter.rb +3 -7
  19. data/lib/mocha/block_matcher.rb +31 -0
  20. data/lib/mocha/cardinality.rb +60 -49
  21. data/lib/mocha/central.rb +21 -12
  22. data/lib/mocha/change_state_side_effect.rb +0 -4
  23. data/lib/mocha/class_methods.rb +19 -20
  24. data/lib/mocha/configuration.rb +317 -52
  25. data/lib/mocha/debug.rb +2 -4
  26. data/lib/mocha/deprecation.rb +8 -11
  27. data/lib/mocha/detection/mini_test.rb +0 -2
  28. data/lib/mocha/detection/test_unit.rb +3 -5
  29. data/lib/mocha/error_with_filtered_backtrace.rb +13 -0
  30. data/lib/mocha/exception_raiser.rb +4 -6
  31. data/lib/mocha/expectation.rb +186 -95
  32. data/lib/mocha/expectation_error.rb +1 -1
  33. data/lib/mocha/expectation_error_factory.rb +0 -1
  34. data/lib/mocha/expectation_list.rb +7 -11
  35. data/lib/mocha/hooks.rb +1 -3
  36. data/lib/mocha/in_state_ordering_constraint.rb +0 -4
  37. data/lib/mocha/inspect.rb +30 -38
  38. data/lib/mocha/instance_method.rb +11 -8
  39. data/lib/mocha/integration/mini_test/adapter.rb +3 -5
  40. data/lib/mocha/integration/mini_test/exception_translation.rb +1 -1
  41. data/lib/mocha/integration/mini_test.rb +10 -31
  42. data/lib/mocha/integration/monkey_patcher.rb +8 -2
  43. data/lib/mocha/integration/test_unit/adapter.rb +8 -9
  44. data/lib/mocha/integration/test_unit.rb +10 -26
  45. data/lib/mocha/invocation.rb +73 -0
  46. data/lib/mocha/is_a.rb +0 -2
  47. data/lib/mocha/logger.rb +0 -4
  48. data/lib/mocha/macos_version.rb +5 -0
  49. data/lib/mocha/method_matcher.rb +1 -5
  50. data/lib/mocha/minitest.rb +6 -0
  51. data/lib/mocha/mock.rb +105 -57
  52. data/lib/mocha/mockery.rb +70 -98
  53. data/lib/mocha/names.rb +2 -12
  54. data/lib/mocha/not_initialized_error.rb +7 -0
  55. data/lib/mocha/object_methods.rb +25 -31
  56. data/lib/mocha/parameter_matchers/all_of.rb +2 -8
  57. data/lib/mocha/parameter_matchers/any_of.rb +2 -8
  58. data/lib/mocha/parameter_matchers/any_parameters.rb +3 -9
  59. data/lib/mocha/parameter_matchers/anything.rb +2 -8
  60. data/lib/mocha/parameter_matchers/base.rb +7 -13
  61. data/lib/mocha/parameter_matchers/equals.rb +1 -7
  62. data/lib/mocha/parameter_matchers/{query_string.rb → equivalent_uri.rb} +14 -15
  63. data/lib/mocha/parameter_matchers/has_entries.rb +2 -7
  64. data/lib/mocha/parameter_matchers/has_entry.rb +26 -21
  65. data/lib/mocha/parameter_matchers/has_key.rb +2 -7
  66. data/lib/mocha/parameter_matchers/has_keys.rb +53 -0
  67. data/lib/mocha/parameter_matchers/has_value.rb +2 -7
  68. data/lib/mocha/parameter_matchers/includes.rb +50 -8
  69. data/lib/mocha/parameter_matchers/instance_methods.rb +27 -0
  70. data/lib/mocha/parameter_matchers/instance_of.rb +0 -6
  71. data/lib/mocha/parameter_matchers/is_a.rb +2 -7
  72. data/lib/mocha/parameter_matchers/kind_of.rb +2 -6
  73. data/lib/mocha/parameter_matchers/not.rb +2 -7
  74. data/lib/mocha/parameter_matchers/optionally.rb +4 -10
  75. data/lib/mocha/parameter_matchers/positional_or_keyword_hash.rb +64 -0
  76. data/lib/mocha/parameter_matchers/regexp_matches.rb +0 -6
  77. data/lib/mocha/parameter_matchers/responds_with.rb +3 -8
  78. data/lib/mocha/parameter_matchers/yaml_equivalent.rb +2 -6
  79. data/lib/mocha/parameter_matchers.rb +3 -4
  80. data/lib/mocha/parameters_matcher.rb +8 -11
  81. data/lib/mocha/raised_exception.rb +11 -0
  82. data/lib/mocha/receivers.rb +10 -14
  83. data/lib/mocha/return_values.rb +4 -8
  84. data/lib/mocha/ruby_version.rb +3 -0
  85. data/lib/mocha/sequence.rb +4 -9
  86. data/lib/mocha/single_return_value.rb +2 -5
  87. data/lib/mocha/state_machine.rb +33 -46
  88. data/lib/mocha/stubbed_method.rb +88 -0
  89. data/lib/mocha/stubbing_error.rb +2 -13
  90. data/lib/mocha/test_unit.rb +5 -2
  91. data/lib/mocha/thrower.rb +4 -6
  92. data/lib/mocha/thrown_object.rb +12 -0
  93. data/lib/mocha/version.rb +1 -1
  94. data/lib/mocha/yield_parameters.rb +7 -17
  95. data/mocha.gemspec +16 -43
  96. metadata +38 -248
  97. data/bin/build-matrix +0 -71
  98. data/gemfiles/Gemfile.minitest.1.3.0 +0 -7
  99. data/gemfiles/Gemfile.minitest.1.4.0 +0 -7
  100. data/gemfiles/Gemfile.minitest.1.4.1 +0 -7
  101. data/gemfiles/Gemfile.minitest.1.4.2 +0 -7
  102. data/gemfiles/Gemfile.minitest.2.0.0 +0 -7
  103. data/gemfiles/Gemfile.minitest.2.0.1 +0 -7
  104. data/gemfiles/Gemfile.minitest.2.11.0 +0 -7
  105. data/gemfiles/Gemfile.minitest.2.11.2 +0 -7
  106. data/gemfiles/Gemfile.minitest.2.3.0 +0 -7
  107. data/gemfiles/Gemfile.test-unit.2.0.0 +0 -7
  108. data/gemfiles/Gemfile.test-unit.2.0.1 +0 -7
  109. data/gemfiles/Gemfile.test-unit.2.0.3 +0 -7
  110. data/init.rb +0 -3
  111. data/lib/mocha/class_method.rb +0 -127
  112. data/lib/mocha/integration/mini_test/nothing.rb +0 -19
  113. data/lib/mocha/integration/mini_test/version_13.rb +0 -51
  114. data/lib/mocha/integration/mini_test/version_140.rb +0 -51
  115. data/lib/mocha/integration/mini_test/version_141.rb +0 -62
  116. data/lib/mocha/integration/mini_test/version_142_to_172.rb +0 -62
  117. data/lib/mocha/integration/mini_test/version_200.rb +0 -63
  118. data/lib/mocha/integration/mini_test/version_201_to_222.rb +0 -63
  119. data/lib/mocha/integration/mini_test/version_2110_to_2111.rb +0 -67
  120. data/lib/mocha/integration/mini_test/version_2112_to_320.rb +0 -70
  121. data/lib/mocha/integration/mini_test/version_230_to_2101.rb +0 -65
  122. data/lib/mocha/integration/test_unit/gem_version_200.rb +0 -59
  123. data/lib/mocha/integration/test_unit/gem_version_201_to_202.rb +0 -59
  124. data/lib/mocha/integration/test_unit/gem_version_203_to_220.rb +0 -59
  125. data/lib/mocha/integration/test_unit/gem_version_230_to_250.rb +0 -65
  126. data/lib/mocha/integration/test_unit/nothing.rb +0 -19
  127. data/lib/mocha/integration/test_unit/ruby_version_185_and_below.rb +0 -58
  128. data/lib/mocha/integration/test_unit/ruby_version_186_and_above.rb +0 -60
  129. data/lib/mocha/integration.rb +0 -14
  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/setup.rb +0 -9
  138. data/lib/mocha/single_yield.rb +0 -18
  139. data/lib/mocha/standalone.rb +0 -4
  140. data/lib/mocha/unexpected_invocation.rb +0 -26
  141. data/lib/mocha_standalone.rb +0 -4
  142. data/test/acceptance/acceptance_test_helper.rb +0 -41
  143. data/test/acceptance/bug_18914_test.rb +0 -43
  144. data/test/acceptance/bug_21465_test.rb +0 -34
  145. data/test/acceptance/bug_21563_test.rb +0 -25
  146. data/test/acceptance/exception_rescue_test.rb +0 -55
  147. data/test/acceptance/expectations_on_multiple_methods_test.rb +0 -55
  148. data/test/acceptance/expected_invocation_count_test.rb +0 -232
  149. data/test/acceptance/failure_messages_test.rb +0 -64
  150. data/test/acceptance/issue_65_test.rb +0 -63
  151. data/test/acceptance/issue_70_test.rb +0 -55
  152. data/test/acceptance/mocha_example_test.rb +0 -98
  153. data/test/acceptance/mocha_test_result_test.rb +0 -84
  154. data/test/acceptance/mock_test.rb +0 -100
  155. data/test/acceptance/mock_with_initializer_block_test.rb +0 -51
  156. data/test/acceptance/mocked_methods_dispatch_test.rb +0 -78
  157. data/test/acceptance/multiple_expectations_failure_message_test.rb +0 -68
  158. data/test/acceptance/optional_parameters_test.rb +0 -70
  159. data/test/acceptance/parameter_matcher_test.rb +0 -337
  160. data/test/acceptance/partial_mocks_test.rb +0 -47
  161. data/test/acceptance/prepend_test.rb +0 -88
  162. data/test/acceptance/raise_exception_test.rb +0 -39
  163. data/test/acceptance/return_value_test.rb +0 -52
  164. data/test/acceptance/sequence_test.rb +0 -192
  165. data/test/acceptance/states_test.rb +0 -70
  166. data/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +0 -34
  167. data/test/acceptance/stub_any_instance_method_test.rb +0 -238
  168. data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +0 -106
  169. data/test/acceptance/stub_class_method_defined_on_class_test.rb +0 -78
  170. data/test/acceptance/stub_class_method_defined_on_module_test.rb +0 -75
  171. data/test/acceptance/stub_class_method_defined_on_superclass_test.rb +0 -112
  172. data/test/acceptance/stub_everything_test.rb +0 -56
  173. data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +0 -93
  174. data/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +0 -69
  175. data/test/acceptance/stub_instance_method_defined_on_class_test.rb +0 -69
  176. data/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +0 -75
  177. data/test/acceptance/stub_instance_method_defined_on_module_test.rb +0 -75
  178. data/test/acceptance/stub_instance_method_defined_on_object_class_test.rb +0 -75
  179. data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +0 -70
  180. data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +0 -72
  181. data/test/acceptance/stub_module_method_test.rb +0 -163
  182. data/test/acceptance/stub_test.rb +0 -52
  183. data/test/acceptance/stubba_example_test.rb +0 -102
  184. data/test/acceptance/stubba_test_result_test.rb +0 -66
  185. data/test/acceptance/stubbing_error_backtrace_test.rb +0 -64
  186. data/test/acceptance/stubbing_frozen_object_test.rb +0 -88
  187. data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +0 -48
  188. data/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -65
  189. data/test/acceptance/stubbing_nil_test.rb +0 -59
  190. data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -130
  191. data/test/acceptance/stubbing_non_existent_class_method_test.rb +0 -157
  192. data/test/acceptance/stubbing_non_existent_instance_method_test.rb +0 -147
  193. data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -130
  194. data/test/acceptance/stubbing_non_public_class_method_test.rb +0 -163
  195. data/test/acceptance/stubbing_non_public_instance_method_test.rb +0 -143
  196. data/test/acceptance/stubbing_on_non_mock_object_test.rb +0 -64
  197. data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +0 -35
  198. data/test/acceptance/throw_test.rb +0 -45
  199. data/test/acceptance/unexpected_invocation_test.rb +0 -25
  200. data/test/acceptance/unstubbing_test.rb +0 -168
  201. data/test/assertions.rb +0 -6
  202. data/test/deprecation_disabler.rb +0 -15
  203. data/test/execution_point.rb +0 -36
  204. data/test/integration/mini_test_test.rb +0 -8
  205. data/test/integration/shared_tests.rb +0 -174
  206. data/test/integration/test_unit_test.rb +0 -8
  207. data/test/method_definer.rb +0 -24
  208. data/test/mini_test_result.rb +0 -90
  209. data/test/minitest_result.rb +0 -49
  210. data/test/simple_counter.rb +0 -13
  211. data/test/test_helper.rb +0 -50
  212. data/test/test_runner.rb +0 -58
  213. data/test/test_unit_result.rb +0 -20
  214. data/test/unit/any_instance_method_test.rb +0 -132
  215. data/test/unit/array_inspect_test.rb +0 -16
  216. data/test/unit/backtrace_filter_test.rb +0 -19
  217. data/test/unit/cardinality_test.rb +0 -56
  218. data/test/unit/central_test.rb +0 -100
  219. data/test/unit/change_state_side_effect_test.rb +0 -41
  220. data/test/unit/class_method_test.rb +0 -223
  221. data/test/unit/class_methods_test.rb +0 -40
  222. data/test/unit/configuration_test.rb +0 -38
  223. data/test/unit/date_time_inspect_test.rb +0 -21
  224. data/test/unit/exception_raiser_test.rb +0 -42
  225. data/test/unit/expectation_list_test.rb +0 -82
  226. data/test/unit/expectation_test.rb +0 -497
  227. data/test/unit/hash_inspect_test.rb +0 -16
  228. data/test/unit/hooks_test.rb +0 -29
  229. data/test/unit/in_state_ordering_constraint_test.rb +0 -43
  230. data/test/unit/method_matcher_test.rb +0 -28
  231. data/test/unit/mock_test.rb +0 -341
  232. data/test/unit/mockery_test.rb +0 -151
  233. data/test/unit/module_methods_test.rb +0 -19
  234. data/test/unit/multiple_yields_test.rb +0 -18
  235. data/test/unit/no_yields_test.rb +0 -18
  236. data/test/unit/object_inspect_test.rb +0 -38
  237. data/test/unit/object_methods_test.rb +0 -46
  238. data/test/unit/parameter_matchers/all_of_test.rb +0 -26
  239. data/test/unit/parameter_matchers/any_of_test.rb +0 -26
  240. data/test/unit/parameter_matchers/anything_test.rb +0 -21
  241. data/test/unit/parameter_matchers/equals_test.rb +0 -25
  242. data/test/unit/parameter_matchers/has_entries_test.rb +0 -51
  243. data/test/unit/parameter_matchers/has_entry_test.rb +0 -129
  244. data/test/unit/parameter_matchers/has_key_test.rb +0 -55
  245. data/test/unit/parameter_matchers/has_value_test.rb +0 -57
  246. data/test/unit/parameter_matchers/includes_test.rb +0 -59
  247. data/test/unit/parameter_matchers/instance_of_test.rb +0 -25
  248. data/test/unit/parameter_matchers/is_a_test.rb +0 -25
  249. data/test/unit/parameter_matchers/kind_of_test.rb +0 -25
  250. data/test/unit/parameter_matchers/not_test.rb +0 -26
  251. data/test/unit/parameter_matchers/regexp_matches_test.rb +0 -46
  252. data/test/unit/parameter_matchers/responds_with_test.rb +0 -32
  253. data/test/unit/parameter_matchers/stub_matcher.rb +0 -27
  254. data/test/unit/parameter_matchers/yaml_equivalent_test.rb +0 -25
  255. data/test/unit/parameters_matcher_test.rb +0 -121
  256. data/test/unit/receivers_test.rb +0 -66
  257. data/test/unit/return_values_test.rb +0 -63
  258. data/test/unit/sequence_test.rb +0 -104
  259. data/test/unit/single_return_value_test.rb +0 -14
  260. data/test/unit/single_yield_test.rb +0 -18
  261. data/test/unit/state_machine_test.rb +0 -98
  262. data/test/unit/string_inspect_test.rb +0 -11
  263. data/test/unit/thrower_test.rb +0 -20
  264. data/test/unit/yield_parameters_test.rb +0 -93
  265. data/yard-templates/default/layout/html/google_analytics.erb +0 -11
  266. data/yard-templates/default/layout/html/setup.rb +0 -6
@@ -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,19 +0,0 @@
1
- module Mocha
2
- module Integration
3
- module MiniTest
4
- module Nothing
5
- def self.applicable_to?(test_unit_version, ruby_version = nil)
6
- true
7
- end
8
-
9
- def self.description
10
- "nothing (no MiniTest integration available)"
11
- end
12
-
13
- def self.included(mod)
14
- raise "No MiniTest integration available"
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,51 +0,0 @@
1
- require 'mocha/integration/assertion_counter'
2
- require 'mocha/integration/monkey_patcher'
3
- require 'mocha/integration/mini_test/exception_translation'
4
-
5
- module Mocha
6
- module Integration
7
- module MiniTest
8
- module Version13
9
- def self.applicable_to?(mini_test_version)
10
- Gem::Requirement.new('>= 1.3.0', '<= 1.3.1').satisfied_by?(mini_test_version)
11
- end
12
-
13
- def self.description
14
- "monkey patch for MiniTest gem v1.3"
15
- end
16
-
17
- def self.included(mod)
18
- MonkeyPatcher.apply(mod, RunMethodPatch)
19
- end
20
-
21
- module RunMethodPatch
22
- def run runner
23
- assertion_counter = AssertionCounter.new(self)
24
- result = '.'
25
- begin
26
- begin
27
- @passed = nil
28
- self.setup
29
- self.__send__ self.name
30
- mocha_verify(assertion_counter)
31
- @passed = true
32
- rescue Exception => e
33
- @passed = false
34
- result = runner.puke(self.class, self.name, Mocha::Integration::MiniTest.translate(e))
35
- ensure
36
- begin
37
- self.teardown
38
- rescue Exception => e
39
- result = runner.puke(self.class, self.name, Mocha::Integration::MiniTest.translate(e))
40
- end
41
- end
42
- ensure
43
- mocha_teardown
44
- end
45
- result
46
- end
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,51 +0,0 @@
1
- require 'mocha/integration/assertion_counter'
2
- require 'mocha/integration/monkey_patcher'
3
- require 'mocha/integration/mini_test/exception_translation'
4
-
5
- module Mocha
6
- module Integration
7
- module MiniTest
8
- module Version140
9
- def self.applicable_to?(mini_test_version)
10
- Gem::Requirement.new('1.4.0').satisfied_by?(mini_test_version)
11
- end
12
-
13
- def self.description
14
- "monkey patch for MiniTest gem v1.4.0"
15
- end
16
-
17
- def self.included(mod)
18
- MonkeyPatcher.apply(mod, RunMethodPatch)
19
- end
20
-
21
- module RunMethodPatch
22
- def run runner
23
- assertion_counter = AssertionCounter.new(self)
24
- result = '.'
25
- begin
26
- begin
27
- @passed = nil
28
- self.setup
29
- self.__send__ self.__name__
30
- mocha_verify(assertion_counter)
31
- @passed = true
32
- rescue Exception => e
33
- @passed = false
34
- result = runner.puke(self.class, self.__name__, Mocha::Integration::MiniTest.translate(e))
35
- ensure
36
- begin
37
- self.teardown
38
- rescue Exception => e
39
- result = runner.puke(self.class, self.__name__, Mocha::Integration::MiniTest.translate(e))
40
- end
41
- end
42
- ensure
43
- mocha_teardown
44
- end
45
- result
46
- end
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,62 +0,0 @@
1
- require 'mocha/integration/assertion_counter'
2
- require 'mocha/integration/monkey_patcher'
3
- require 'mocha/integration/mini_test/exception_translation'
4
-
5
- module Mocha
6
- module Integration
7
- module MiniTest
8
- module Version141
9
- def self.applicable_to?(mini_test_version)
10
- Gem::Requirement.new('1.4.1').satisfied_by?(mini_test_version)
11
- end
12
-
13
- def self.description
14
- "monkey patch for MiniTest gem v1.4.1"
15
- end
16
-
17
- def self.included(mod)
18
- MonkeyPatcher.apply(mod, RunMethodPatch)
19
- end
20
-
21
- module RunMethodPatch
22
- def run runner
23
- trap 'INFO' do
24
- warn '%s#%s %.2fs' % [self.class, self.__name__,
25
- (Time.now - runner.start_time)]
26
- runner.status $stderr
27
- end
28
-
29
- assertion_counter = AssertionCounter.new(self)
30
- result = '.'
31
- begin
32
- begin
33
- @passed = nil
34
- self.setup
35
- self.__send__ self.__name__
36
- mocha_verify(assertion_counter)
37
- @passed = true
38
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
39
- raise
40
- rescue Exception => e
41
- @passed = false
42
- result = runner.puke(self.class, self.__name__, Mocha::Integration::MiniTest.translate(e))
43
- ensure
44
- begin
45
- self.teardown
46
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
47
- raise
48
- rescue Exception => e
49
- result = runner.puke(self.class, self.__name__, Mocha::Integration::MiniTest.translate(e))
50
- end
51
- trap 'INFO', 'DEFAULT'
52
- end
53
- ensure
54
- mocha_teardown
55
- end
56
- result
57
- end
58
- end
59
- end
60
- end
61
- end
62
- end
@@ -1,62 +0,0 @@
1
- require 'mocha/integration/assertion_counter'
2
- require 'mocha/integration/monkey_patcher'
3
- require 'mocha/integration/mini_test/exception_translation'
4
-
5
- module Mocha
6
- module Integration
7
- module MiniTest
8
- module Version142To172
9
- def self.applicable_to?(mini_test_version)
10
- Gem::Requirement.new('>= 1.4.2', '<= 1.7.2').satisfied_by?(mini_test_version)
11
- end
12
-
13
- def self.description
14
- "monkey patch for MiniTest gem >= v1.4.2 and <= v1.7.2"
15
- end
16
-
17
- def self.included(mod)
18
- MonkeyPatcher.apply(mod, RunMethodPatch)
19
- end
20
-
21
- module RunMethodPatch
22
- def run runner
23
- trap 'INFO' do
24
- warn '%s#%s %.2fs' % [self.class, self.__name__,
25
- (Time.now - runner.start_time)]
26
- runner.status $stderr
27
- end if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
28
-
29
- assertion_counter = AssertionCounter.new(self)
30
- result = '.'
31
- begin
32
- begin
33
- @passed = nil
34
- self.setup
35
- self.__send__ self.__name__
36
- mocha_verify(assertion_counter)
37
- @passed = true
38
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
39
- raise
40
- rescue Exception => e
41
- @passed = false
42
- result = runner.puke(self.class, self.__name__, Mocha::Integration::MiniTest.translate(e))
43
- ensure
44
- begin
45
- self.teardown
46
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
47
- raise
48
- rescue Exception => e
49
- result = runner.puke(self.class, self.__name__, Mocha::Integration::MiniTest.translate(e))
50
- end
51
- trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
52
- end
53
- ensure
54
- mocha_teardown
55
- end
56
- result
57
- end
58
- end
59
- end
60
- end
61
- end
62
- end
@@ -1,63 +0,0 @@
1
- require 'mocha/integration/assertion_counter'
2
- require 'mocha/integration/monkey_patcher'
3
- require 'mocha/integration/mini_test/exception_translation'
4
-
5
- module Mocha
6
- module Integration
7
- module MiniTest
8
- module Version200
9
- def self.applicable_to?(mini_test_version)
10
- Gem::Requirement.new('2.0.0').satisfied_by?(mini_test_version)
11
- end
12
-
13
- def self.description
14
- "monkey patch for MiniTest gem v2.0.0"
15
- end
16
-
17
- def self.included(mod)
18
- MonkeyPatcher.apply(mod, RunMethodPatch)
19
- end
20
-
21
- module RunMethodPatch
22
- def run runner
23
- trap 'INFO' do
24
- time = Time.now - runner.start_time
25
- warn "%s#%s %.2fs" % [self.class, self.__name__, time]
26
- runner.status $stderr
27
- end if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
28
-
29
- assertion_counter = AssertionCounter.new(self)
30
- result = ""
31
- begin
32
- begin
33
- @passed = nil
34
- self.setup
35
- self.__send__ self.__name__
36
- mocha_verify(assertion_counter)
37
- result = "." unless io?
38
- @passed = true
39
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
40
- raise
41
- rescue Exception => e
42
- @passed = false
43
- result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
44
- ensure
45
- begin
46
- self.teardown
47
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
48
- raise
49
- rescue Exception => e
50
- result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
51
- end
52
- trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
53
- end
54
- ensure
55
- mocha_teardown
56
- end
57
- result
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,63 +0,0 @@
1
- require 'mocha/integration/assertion_counter'
2
- require 'mocha/integration/monkey_patcher'
3
- require 'mocha/integration/mini_test/exception_translation'
4
-
5
- module Mocha
6
- module Integration
7
- module MiniTest
8
- module Version201To222
9
- def self.applicable_to?(mini_test_version)
10
- Gem::Requirement.new('>= 2.0.1', '<= 2.2.2').satisfied_by?(mini_test_version)
11
- end
12
-
13
- def self.description
14
- "monkey patch for MiniTest gem >= v2.0.1 <= v2.2.2"
15
- end
16
-
17
- def self.included(mod)
18
- MonkeyPatcher.apply(mod, RunMethodPatch)
19
- end
20
-
21
- module RunMethodPatch
22
- def run runner
23
- trap 'INFO' do
24
- time = runner.start_time ? Time.now - runner.start_time : 0
25
- warn "%s#%s %.2fs" % [self.class, self.__name__, time]
26
- runner.status $stderr
27
- end if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
28
-
29
- assertion_counter = AssertionCounter.new(self)
30
- result = ""
31
- begin
32
- begin
33
- @passed = nil
34
- self.setup
35
- self.__send__ self.__name__
36
- mocha_verify(assertion_counter)
37
- result = "." unless io?
38
- @passed = true
39
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
40
- raise
41
- rescue Exception => e
42
- @passed = false
43
- result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
44
- ensure
45
- begin
46
- self.teardown
47
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
48
- raise
49
- rescue Exception => e
50
- result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
51
- end
52
- trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
53
- end
54
- ensure
55
- mocha_teardown
56
- end
57
- result
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,67 +0,0 @@
1
- require 'mocha/integration/assertion_counter'
2
- require 'mocha/integration/monkey_patcher'
3
- require 'mocha/integration/mini_test/exception_translation'
4
-
5
- module Mocha
6
- module Integration
7
- module MiniTest
8
- module Version2110To2111
9
- def self.applicable_to?(mini_test_version)
10
- Gem::Requirement.new('>= 2.11.0', '<= 2.11.1').satisfied_by?(mini_test_version)
11
- end
12
-
13
- def self.description
14
- "monkey patch for MiniTest gem >= v2.11.0 <= v2.11.1"
15
- end
16
-
17
- def self.included(mod)
18
- MonkeyPatcher.apply(mod, RunMethodPatch)
19
- end
20
-
21
- module RunMethodPatch
22
- def run runner
23
- trap 'INFO' do
24
- time = runner.start_time ? Time.now - runner.start_time : 0
25
- warn "%s#%s %.2fs" % [self.class, self.__name__, time]
26
- runner.status $stderr
27
- end if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
28
-
29
- assertion_counter = AssertionCounter.new(self)
30
- result = ""
31
- begin
32
- begin
33
- @passed = nil
34
- self.before_setup
35
- self.setup
36
- self.after_setup
37
- self.run_test self.__name__
38
- mocha_verify(assertion_counter)
39
- result = "." unless io?
40
- @passed = true
41
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
42
- raise
43
- rescue Exception => e
44
- @passed = false
45
- result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
46
- ensure
47
- %w{ before_teardown teardown after_teardown }.each do |hook|
48
- begin
49
- self.send hook
50
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
51
- raise
52
- rescue Exception => e
53
- result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
54
- end
55
- end
56
- trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
57
- end
58
- ensure
59
- mocha_teardown
60
- end
61
- result
62
- end
63
- end
64
- end
65
- end
66
- end
67
- end
@@ -1,70 +0,0 @@
1
- require 'mocha/integration/assertion_counter'
2
- require 'mocha/integration/monkey_patcher'
3
- require 'mocha/integration/mini_test/exception_translation'
4
-
5
- module Mocha
6
- module Integration
7
- module MiniTest
8
- module Version2112To320
9
- def self.applicable_to?(mini_test_version)
10
- Gem::Requirement.new('>= 2.11.2', '<= 3.2.0').satisfied_by?(mini_test_version)
11
- end
12
-
13
- def self.description
14
- "monkey patch for MiniTest gem >= v2.11.2 <= v3.2.0"
15
- end
16
-
17
- def self.included(mod)
18
- MonkeyPatcher.apply(mod, RunMethodPatch)
19
- end
20
-
21
- module RunMethodPatch
22
- def run runner
23
- trap "INFO" do
24
- runner.report.each_with_index do |msg, i|
25
- warn "\n%3d) %s" % [i + 1, msg]
26
- end
27
- warn ''
28
- time = runner.start_time ? Time.now - runner.start_time : 0
29
- warn "Current Test: %s#%s %.2fs" % [self.class, self.__name__, time]
30
- runner.status $stderr
31
- end if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
32
- assertion_counter = AssertionCounter.new(self)
33
- result = ""
34
- begin
35
- begin
36
- @passed = nil
37
- self.before_setup
38
- self.setup
39
- self.after_setup
40
- self.run_test self.__name__
41
- mocha_verify(assertion_counter)
42
- result = "." unless io?
43
- @passed = true
44
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
45
- raise
46
- rescue Exception => e
47
- @passed = false
48
- result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
49
- ensure
50
- %w{ before_teardown teardown after_teardown }.each do |hook|
51
- begin
52
- self.send hook
53
- rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
54
- raise
55
- rescue Exception => e
56
- result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
57
- end
58
- end
59
- trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
60
- end
61
- ensure
62
- mocha_teardown
63
- end
64
- result
65
- end
66
- end
67
- end
68
- end
69
- end
70
- end