mocha 1.4.0 → 1.7.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.
- checksums.yaml +5 -5
- data/.rubocop.yml +58 -0
- data/.rubocop_todo.yml +50 -0
- data/README.md +12 -71
- data/RELEASE.md +19 -0
- data/Rakefile +35 -28
- data/bin/build-matrix +17 -18
- data/lib/mocha/any_instance_method.rb +19 -25
- data/lib/mocha/api.rb +1 -5
- data/lib/mocha/argument_iterator.rb +4 -8
- data/lib/mocha/backtrace_filter.rb +1 -5
- data/lib/mocha/cardinality.rb +20 -27
- data/lib/mocha/central.rb +21 -12
- data/lib/mocha/change_state_side_effect.rb +0 -4
- data/lib/mocha/class_method.rb +31 -37
- data/lib/mocha/class_methods.rb +11 -15
- data/lib/mocha/configuration.rb +69 -10
- data/lib/mocha/debug.rb +3 -2
- data/lib/mocha/deprecation.rb +4 -11
- data/lib/mocha/detection/mini_test.rb +0 -2
- data/lib/mocha/detection/test_unit.rb +4 -4
- data/lib/mocha/error_with_filtered_backtrace.rb +13 -0
- data/lib/mocha/exception_raiser.rb +2 -5
- data/lib/mocha/expectation.rb +15 -18
- data/lib/mocha/expectation_error.rb +2 -0
- data/lib/mocha/expectation_error_factory.rb +0 -1
- data/lib/mocha/expectation_list.rb +2 -6
- data/lib/mocha/hooks.rb +1 -3
- data/lib/mocha/in_state_ordering_constraint.rb +0 -4
- data/lib/mocha/inspect.rb +3 -5
- data/lib/mocha/instance_method.rb +0 -2
- data/lib/mocha/integration/mini_test/adapter.rb +2 -4
- data/lib/mocha/integration/mini_test/exception_translation.rb +1 -1
- data/lib/mocha/integration/mini_test/nothing.rb +4 -4
- data/lib/mocha/integration/mini_test/version_13.rb +4 -1
- data/lib/mocha/integration/mini_test/version_140.rb +4 -1
- data/lib/mocha/integration/mini_test/version_141.rb +4 -1
- data/lib/mocha/integration/mini_test/version_142_to_172.rb +4 -1
- data/lib/mocha/integration/mini_test/version_200.rb +4 -1
- data/lib/mocha/integration/mini_test/version_201_to_222.rb +4 -1
- data/lib/mocha/integration/mini_test/version_2110_to_2111.rb +4 -1
- data/lib/mocha/integration/mini_test/version_2112_to_320.rb +4 -1
- data/lib/mocha/integration/mini_test/version_230_to_2101.rb +4 -1
- data/lib/mocha/integration/monkey_patcher.rb +5 -7
- data/lib/mocha/integration/test_unit/adapter.rb +5 -6
- data/lib/mocha/integration/test_unit/gem_version_200.rb +5 -2
- data/lib/mocha/integration/test_unit/gem_version_201_to_202.rb +5 -2
- data/lib/mocha/integration/test_unit/gem_version_203_to_220.rb +5 -2
- data/lib/mocha/integration/test_unit/gem_version_230_to_250.rb +5 -2
- data/lib/mocha/integration/test_unit/nothing.rb +4 -4
- data/lib/mocha/integration/test_unit/ruby_version_185_and_below.rb +4 -1
- data/lib/mocha/integration/test_unit/ruby_version_186_and_above.rb +4 -1
- data/lib/mocha/integration.rb +3 -4
- data/lib/mocha/is_a.rb +0 -2
- data/lib/mocha/logger.rb +0 -4
- data/lib/mocha/method_matcher.rb +1 -5
- data/lib/mocha/minitest.rb +1 -1
- data/lib/mocha/mock.rb +25 -30
- data/lib/mocha/mockery.rb +62 -43
- data/lib/mocha/module_method.rb +0 -10
- data/lib/mocha/module_methods.rb +0 -4
- data/lib/mocha/multiple_yields.rb +0 -5
- data/lib/mocha/names.rb +1 -11
- data/lib/mocha/no_yields.rb +1 -7
- data/lib/mocha/not_initialized_error.rb +7 -0
- data/lib/mocha/object_methods.rb +16 -16
- data/lib/mocha/parameter_matchers/all_of.rb +1 -7
- data/lib/mocha/parameter_matchers/any_of.rb +1 -7
- data/lib/mocha/parameter_matchers/any_parameters.rb +3 -9
- data/lib/mocha/parameter_matchers/anything.rb +2 -8
- data/lib/mocha/parameter_matchers/base.rb +6 -12
- data/lib/mocha/parameter_matchers/equals.rb +0 -6
- data/lib/mocha/parameter_matchers/equivalent_uri.rb +6 -6
- data/lib/mocha/parameter_matchers/has_entries.rb +2 -6
- data/lib/mocha/parameter_matchers/has_entry.rb +8 -11
- data/lib/mocha/parameter_matchers/has_key.rb +2 -6
- data/lib/mocha/parameter_matchers/has_value.rb +2 -6
- data/lib/mocha/parameter_matchers/includes.rb +2 -6
- data/lib/mocha/parameter_matchers/instance_of.rb +0 -6
- data/lib/mocha/parameter_matchers/is_a.rb +2 -6
- data/lib/mocha/parameter_matchers/kind_of.rb +2 -6
- data/lib/mocha/parameter_matchers/not.rb +2 -6
- data/lib/mocha/parameter_matchers/object.rb +0 -2
- data/lib/mocha/parameter_matchers/optionally.rb +4 -10
- data/lib/mocha/parameter_matchers/regexp_matches.rb +0 -6
- data/lib/mocha/parameter_matchers/responds_with.rb +3 -8
- data/lib/mocha/parameter_matchers/yaml_equivalent.rb +2 -6
- data/lib/mocha/parameter_matchers.rb +0 -2
- data/lib/mocha/parameters_matcher.rb +6 -9
- data/lib/mocha/pretty_parameters.rb +0 -4
- data/lib/mocha/receivers.rb +10 -14
- data/lib/mocha/return_values.rb +3 -7
- data/lib/mocha/sequence.rb +4 -9
- data/lib/mocha/single_return_value.rb +0 -4
- data/lib/mocha/single_yield.rb +0 -5
- data/lib/mocha/state_machine.rb +6 -10
- data/lib/mocha/stubbing_error.rb +2 -13
- data/lib/mocha/test_unit.rb +1 -1
- data/lib/mocha/thrower.rb +2 -5
- data/lib/mocha/unexpected_invocation.rb +3 -5
- data/lib/mocha/version.rb +1 -1
- data/lib/mocha/yield_parameters.rb +3 -7
- data/mocha.gemspec +34 -58
- data/test/acceptance/acceptance_test_helper.rb +0 -6
- data/test/acceptance/bug_18914_test.rb +7 -12
- data/test/acceptance/bug_21465_test.rb +0 -2
- data/test/acceptance/bug_21563_test.rb +0 -2
- data/test/acceptance/exception_rescue_test.rb +7 -8
- data/test/acceptance/expectations_on_multiple_methods_test.rb +2 -1
- data/test/acceptance/expected_invocation_count_test.rb +27 -29
- data/test/acceptance/failure_messages_test.rb +3 -5
- data/test/acceptance/issue_272_test.rb +0 -1
- data/test/acceptance/issue_65_test.rb +15 -13
- data/test/acceptance/issue_70_test.rb +0 -1
- data/test/acceptance/mocha_example_test.rb +5 -6
- data/test/acceptance/mocha_test_result_test.rb +7 -7
- data/test/acceptance/mock_test.rb +2 -4
- data/test/acceptance/mock_with_initializer_block_test.rb +0 -2
- data/test/acceptance/mocked_methods_dispatch_test.rb +0 -2
- data/test/acceptance/multiple_expectations_failure_message_test.rb +16 -17
- data/test/acceptance/optional_parameters_test.rb +0 -2
- data/test/acceptance/parameter_matcher_test.rb +2 -3
- data/test/acceptance/partial_mocks_test.rb +4 -6
- data/test/acceptance/prepend_test.rb +14 -16
- data/test/acceptance/prevent_use_of_mocha_outside_test_test.rb +77 -0
- data/test/acceptance/raise_exception_test.rb +2 -4
- data/test/acceptance/return_value_test.rb +0 -2
- data/test/acceptance/sequence_test.rb +9 -11
- data/test/acceptance/states_test.rb +6 -4
- data/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +33 -2
- data/test/acceptance/stub_any_instance_method_test.rb +19 -17
- data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +8 -8
- data/test/acceptance/stub_class_method_defined_on_class_test.rb +2 -1
- data/test/acceptance/stub_class_method_defined_on_module_test.rb +0 -1
- data/test/acceptance/stub_class_method_defined_on_superclass_test.rb +34 -1
- data/test/acceptance/stub_everything_test.rb +1 -3
- data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +6 -7
- data/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +0 -1
- data/test/acceptance/stub_instance_method_defined_on_class_test.rb +0 -1
- data/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +63 -1
- data/test/acceptance/stub_instance_method_defined_on_module_test.rb +0 -1
- data/test/acceptance/stub_instance_method_defined_on_object_class_test.rb +2 -1
- data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +0 -2
- data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +0 -1
- data/test/acceptance/stub_module_method_test.rb +13 -13
- data/test/acceptance/stub_test.rb +1 -3
- data/test/acceptance/stubba_example_test.rb +6 -14
- data/test/acceptance/stubba_test_result_test.rb +5 -8
- data/test/acceptance/stubbing_error_backtrace_test.rb +2 -2
- data/test/acceptance/stubbing_frozen_object_test.rb +2 -1
- data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +12 -7
- data/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -2
- data/test/acceptance/stubbing_nil_test.rb +4 -5
- data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +1 -3
- data/test/acceptance/stubbing_non_existent_class_method_test.rb +3 -3
- data/test/acceptance/stubbing_non_existent_instance_method_test.rb +1 -3
- data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -2
- data/test/acceptance/stubbing_non_public_class_method_test.rb +3 -3
- data/test/acceptance/stubbing_non_public_instance_method_test.rb +1 -3
- data/test/acceptance/stubbing_on_non_mock_object_test.rb +4 -10
- data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +3 -4
- data/test/acceptance/throw_test.rb +0 -2
- data/test/acceptance/unexpected_invocation_test.rb +2 -3
- data/test/acceptance/unstubbing_test.rb +41 -14
- data/test/deprecation_disabler.rb +0 -1
- data/test/execution_point.rb +2 -4
- data/test/integration/mini_test_test.rb +2 -2
- data/test/integration/shared_tests.rb +24 -22
- data/test/integration/test_unit_test.rb +2 -2
- data/test/method_definer.rb +1 -3
- data/test/mini_test_result.rb +17 -11
- data/test/minitest_result.rb +0 -1
- data/test/simple_counter.rb +0 -2
- data/test/test_helper.rb +13 -5
- data/test/test_runner.rb +2 -4
- data/test/test_unit_result.rb +4 -2
- data/test/unit/any_instance_method_test.rb +31 -17
- data/test/unit/array_inspect_test.rb +2 -4
- data/test/unit/backtrace_filter_test.rb +3 -5
- data/test/unit/cardinality_test.rb +0 -2
- data/test/unit/central_test.rb +26 -27
- data/test/unit/change_state_side_effect_test.rb +0 -4
- data/test/unit/class_method_test.rb +59 -34
- data/test/unit/class_methods_test.rb +34 -5
- data/test/unit/configuration_test.rb +1 -2
- data/test/unit/date_time_inspect_test.rb +1 -3
- data/test/unit/exception_raiser_test.rb +0 -2
- data/test/unit/expectation_list_test.rb +0 -2
- data/test/unit/expectation_test.rb +41 -46
- data/test/unit/hash_inspect_test.rb +3 -5
- data/test/unit/hooks_test.rb +14 -8
- data/test/unit/in_state_ordering_constraint_test.rb +0 -4
- data/test/unit/method_matcher_test.rb +1 -3
- data/test/unit/mock_test.rb +35 -22
- data/test/unit/mockery_test.rb +45 -28
- data/test/unit/module_methods_test.rb +0 -2
- data/test/unit/multiple_yields_test.rb +0 -2
- data/test/unit/no_yields_test.rb +0 -2
- data/test/unit/object_inspect_test.rb +16 -7
- data/test/unit/object_methods_test.rb +22 -6
- data/test/unit/parameter_matchers/all_of_test.rb +0 -2
- data/test/unit/parameter_matchers/any_of_test.rb +0 -2
- data/test/unit/parameter_matchers/anything_test.rb +2 -4
- data/test/unit/parameter_matchers/equals_test.rb +1 -3
- data/test/unit/parameter_matchers/equivalent_uri_test.rb +0 -1
- data/test/unit/parameter_matchers/has_entries_test.rb +2 -2
- data/test/unit/parameter_matchers/has_entry_test.rb +13 -14
- data/test/unit/parameter_matchers/has_key_test.rb +0 -1
- data/test/unit/parameter_matchers/has_value_test.rb +0 -2
- data/test/unit/parameter_matchers/includes_test.rb +8 -9
- data/test/unit/parameter_matchers/instance_of_test.rb +1 -3
- data/test/unit/parameter_matchers/is_a_test.rb +1 -3
- data/test/unit/parameter_matchers/kind_of_test.rb +1 -3
- data/test/unit/parameter_matchers/not_test.rb +0 -2
- data/test/unit/parameter_matchers/regexp_matches_test.rb +1 -2
- data/test/unit/parameter_matchers/responds_with_test.rb +9 -3
- data/test/unit/parameter_matchers/stub_matcher.rb +0 -4
- data/test/unit/parameter_matchers/yaml_equivalent_test.rb +1 -3
- data/test/unit/parameters_matcher_test.rb +2 -4
- data/test/unit/receivers_test.rb +35 -5
- data/test/unit/return_values_test.rb +3 -5
- data/test/unit/sequence_test.rb +1 -5
- data/test/unit/single_return_value_test.rb +0 -2
- data/test/unit/single_yield_test.rb +0 -2
- data/test/unit/state_machine_test.rb +1 -3
- data/test/unit/string_inspect_test.rb +2 -4
- data/test/unit/thrower_test.rb +0 -2
- data/test/unit/yield_parameters_test.rb +0 -2
- data/yard-templates/default/layout/html/setup.rb +2 -3
- metadata +25 -6
@@ -2,7 +2,6 @@ require 'mocha/backtrace_filter'
|
|
2
2
|
require 'mocha/expectation_error'
|
3
3
|
|
4
4
|
module Mocha
|
5
|
-
|
6
5
|
# This factory determines what class of exception should be raised when Mocha detects a test failure.
|
7
6
|
#
|
8
7
|
# This class should only be used by authors of test libraries and not by typical "users" of Mocha.
|
@@ -1,7 +1,5 @@
|
|
1
1
|
module Mocha
|
2
|
-
|
3
2
|
class ExpectationList
|
4
|
-
|
5
3
|
def initialize(expectations = [])
|
6
4
|
@expectations = expectations
|
7
5
|
end
|
@@ -24,7 +22,7 @@ module Mocha
|
|
24
22
|
end
|
25
23
|
|
26
24
|
def match_allowing_invocation(method_name, *arguments)
|
27
|
-
matching_expectations(method_name, *arguments).detect
|
25
|
+
matching_expectations(method_name, *arguments).detect(&:invocations_allowed?)
|
28
26
|
end
|
29
27
|
|
30
28
|
def verified?(assertion_counter = nil)
|
@@ -48,7 +46,7 @@ module Mocha
|
|
48
46
|
end
|
49
47
|
|
50
48
|
def +(other)
|
51
|
-
self.class.new(
|
49
|
+
self.class.new(to_a + other.to_a)
|
52
50
|
end
|
53
51
|
|
54
52
|
private
|
@@ -56,7 +54,5 @@ module Mocha
|
|
56
54
|
def matching_expectations(method_name, *arguments)
|
57
55
|
@expectations.select { |e| e.match?(method_name, *arguments) }
|
58
56
|
end
|
59
|
-
|
60
57
|
end
|
61
|
-
|
62
58
|
end
|
data/lib/mocha/hooks.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'mocha/mockery'
|
2
2
|
|
3
3
|
module Mocha
|
4
|
-
|
5
4
|
# Integration hooks for test library authors.
|
6
5
|
#
|
7
6
|
# The methods in this module should be called from test libraries wishing to integrate with Mocha.
|
@@ -21,6 +20,7 @@ module Mocha
|
|
21
20
|
#
|
22
21
|
# This method should be called before each individual test starts (including before any "setup" code).
|
23
22
|
def mocha_setup
|
23
|
+
Mockery.setup
|
24
24
|
end
|
25
25
|
|
26
26
|
# Verifies that all mock expectations have been met (only for use by authors of test libraries).
|
@@ -37,8 +37,6 @@ module Mocha
|
|
37
37
|
# This method should be called after each individual test has finished (including after any "teardown" code).
|
38
38
|
def mocha_teardown
|
39
39
|
Mockery.teardown
|
40
|
-
ensure
|
41
|
-
Mockery.reset_instance
|
42
40
|
end
|
43
41
|
end
|
44
42
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
module Mocha
|
2
|
-
|
3
2
|
class InStateOrderingConstraint
|
4
|
-
|
5
3
|
def initialize(state_predicate)
|
6
4
|
@state_predicate = state_predicate
|
7
5
|
end
|
@@ -13,7 +11,5 @@ module Mocha
|
|
13
11
|
def mocha_inspect
|
14
12
|
"when #{@state_predicate.mocha_inspect}"
|
15
13
|
end
|
16
|
-
|
17
14
|
end
|
18
|
-
|
19
15
|
end
|
data/lib/mocha/inspect.rb
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
require 'date'
|
2
2
|
|
3
3
|
module Mocha
|
4
|
-
|
5
4
|
module ObjectMethods
|
6
5
|
def mocha_inspect
|
7
|
-
address =
|
6
|
+
address = __id__ * 2
|
8
7
|
address += 0x100000000 if address < 0
|
9
|
-
inspect =~ /#</ ? "#<#{self.class}:0x#{'%x'
|
8
|
+
inspect =~ /#</ ? "#<#{self.class}:0x#{format('%x', address)}>" : inspect
|
10
9
|
end
|
11
10
|
end
|
12
11
|
|
13
12
|
module ArrayMethods
|
14
13
|
def mocha_inspect
|
15
|
-
"[#{collect
|
14
|
+
"[#{collect(&:mocha_inspect).join(', ')}]"
|
16
15
|
end
|
17
16
|
end
|
18
17
|
|
@@ -33,7 +32,6 @@ module Mocha
|
|
33
32
|
to_s
|
34
33
|
end
|
35
34
|
end
|
36
|
-
|
37
35
|
end
|
38
36
|
|
39
37
|
class Object
|
@@ -5,7 +5,6 @@ require 'mocha/expectation_error_factory'
|
|
5
5
|
module Mocha
|
6
6
|
module Integration
|
7
7
|
module MiniTest
|
8
|
-
|
9
8
|
# Integrates Mocha into recent versions of MiniTest.
|
10
9
|
#
|
11
10
|
# See the source code for an example of how to integrate Mocha into a test library.
|
@@ -19,11 +18,11 @@ module Mocha
|
|
19
18
|
|
20
19
|
# @private
|
21
20
|
def self.description
|
22
|
-
|
21
|
+
'adapter for MiniTest gem >= v3.3.0'
|
23
22
|
end
|
24
23
|
|
25
24
|
# @private
|
26
|
-
def self.included(
|
25
|
+
def self.included(_mod)
|
27
26
|
Mocha::ExpectationErrorFactory.exception_class = ::MiniTest::Assertion
|
28
27
|
end
|
29
28
|
|
@@ -51,4 +50,3 @@ module Mocha
|
|
51
50
|
end
|
52
51
|
end
|
53
52
|
end
|
54
|
-
|
@@ -4,7 +4,7 @@ module Mocha
|
|
4
4
|
module Integration
|
5
5
|
module MiniTest
|
6
6
|
def self.translate(exception)
|
7
|
-
return exception unless exception.
|
7
|
+
return exception unless exception.is_a?(::Mocha::ExpectationError)
|
8
8
|
translated_exception = ::MiniTest::Assertion.new(exception.message)
|
9
9
|
translated_exception.set_backtrace(exception.backtrace)
|
10
10
|
translated_exception
|
@@ -2,16 +2,16 @@ module Mocha
|
|
2
2
|
module Integration
|
3
3
|
module MiniTest
|
4
4
|
module Nothing
|
5
|
-
def self.applicable_to?(
|
5
|
+
def self.applicable_to?(_test_unit_version, _ruby_version = nil)
|
6
6
|
true
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.description
|
10
|
-
|
10
|
+
'nothing (no MiniTest integration available)'
|
11
11
|
end
|
12
12
|
|
13
|
-
def self.included(
|
14
|
-
raise
|
13
|
+
def self.included(_mod)
|
14
|
+
raise 'No MiniTest integration available'
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem v1.3'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,12 +19,14 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
assertion_counter = AssertionCounter.new(self)
|
24
25
|
result = '.'
|
25
26
|
begin
|
26
27
|
begin
|
27
28
|
@passed = nil
|
29
|
+
mocha_setup
|
28
30
|
self.setup
|
29
31
|
self.__send__ self.name
|
30
32
|
mocha_verify(assertion_counter)
|
@@ -44,6 +46,7 @@ module Mocha
|
|
44
46
|
end
|
45
47
|
result
|
46
48
|
end
|
49
|
+
# rubocop:enable all
|
47
50
|
end
|
48
51
|
end
|
49
52
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem v1.4.0'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,12 +19,14 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
assertion_counter = AssertionCounter.new(self)
|
24
25
|
result = '.'
|
25
26
|
begin
|
26
27
|
begin
|
27
28
|
@passed = nil
|
29
|
+
mocha_setup
|
28
30
|
self.setup
|
29
31
|
self.__send__ self.__name__
|
30
32
|
mocha_verify(assertion_counter)
|
@@ -44,6 +46,7 @@ module Mocha
|
|
44
46
|
end
|
45
47
|
result
|
46
48
|
end
|
49
|
+
# rubocop:enable all
|
47
50
|
end
|
48
51
|
end
|
49
52
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem v1.4.1'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
trap 'INFO' do
|
24
25
|
warn '%s#%s %.2fs' % [self.class, self.__name__,
|
@@ -31,6 +32,7 @@ module Mocha
|
|
31
32
|
begin
|
32
33
|
begin
|
33
34
|
@passed = nil
|
35
|
+
mocha_setup
|
34
36
|
self.setup
|
35
37
|
self.__send__ self.__name__
|
36
38
|
mocha_verify(assertion_counter)
|
@@ -55,6 +57,7 @@ module Mocha
|
|
55
57
|
end
|
56
58
|
result
|
57
59
|
end
|
60
|
+
# rubocop:enable all
|
58
61
|
end
|
59
62
|
end
|
60
63
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem >= v1.4.2 and <= v1.7.2'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
trap 'INFO' do
|
24
25
|
warn '%s#%s %.2fs' % [self.class, self.__name__,
|
@@ -31,6 +32,7 @@ module Mocha
|
|
31
32
|
begin
|
32
33
|
begin
|
33
34
|
@passed = nil
|
35
|
+
mocha_setup
|
34
36
|
self.setup
|
35
37
|
self.__send__ self.__name__
|
36
38
|
mocha_verify(assertion_counter)
|
@@ -55,6 +57,7 @@ module Mocha
|
|
55
57
|
end
|
56
58
|
result
|
57
59
|
end
|
60
|
+
# rubocop:enable all
|
58
61
|
end
|
59
62
|
end
|
60
63
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem v2.0.0'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
trap 'INFO' do
|
24
25
|
time = Time.now - runner.start_time
|
@@ -31,6 +32,7 @@ module Mocha
|
|
31
32
|
begin
|
32
33
|
begin
|
33
34
|
@passed = nil
|
35
|
+
mocha_setup
|
34
36
|
self.setup
|
35
37
|
self.__send__ self.__name__
|
36
38
|
mocha_verify(assertion_counter)
|
@@ -56,6 +58,7 @@ module Mocha
|
|
56
58
|
end
|
57
59
|
result
|
58
60
|
end
|
61
|
+
# rubocop:enable all
|
59
62
|
end
|
60
63
|
end
|
61
64
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem >= v2.0.1 <= v2.2.2'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
trap 'INFO' do
|
24
25
|
time = runner.start_time ? Time.now - runner.start_time : 0
|
@@ -31,6 +32,7 @@ module Mocha
|
|
31
32
|
begin
|
32
33
|
begin
|
33
34
|
@passed = nil
|
35
|
+
mocha_setup
|
34
36
|
self.setup
|
35
37
|
self.__send__ self.__name__
|
36
38
|
mocha_verify(assertion_counter)
|
@@ -56,6 +58,7 @@ module Mocha
|
|
56
58
|
end
|
57
59
|
result
|
58
60
|
end
|
61
|
+
# rubocop:enable all
|
59
62
|
end
|
60
63
|
end
|
61
64
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem >= v2.11.0 <= v2.11.1'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
trap 'INFO' do
|
24
25
|
time = runner.start_time ? Time.now - runner.start_time : 0
|
@@ -32,6 +33,7 @@ module Mocha
|
|
32
33
|
begin
|
33
34
|
@passed = nil
|
34
35
|
self.before_setup
|
36
|
+
mocha_setup
|
35
37
|
self.setup
|
36
38
|
self.after_setup
|
37
39
|
self.run_test self.__name__
|
@@ -60,6 +62,7 @@ module Mocha
|
|
60
62
|
end
|
61
63
|
result
|
62
64
|
end
|
65
|
+
# rubocop:enable all
|
63
66
|
end
|
64
67
|
end
|
65
68
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem >= v2.11.2 <= v3.2.0'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
trap "INFO" do
|
24
25
|
runner.report.each_with_index do |msg, i|
|
@@ -35,6 +36,7 @@ module Mocha
|
|
35
36
|
begin
|
36
37
|
@passed = nil
|
37
38
|
self.before_setup
|
39
|
+
mocha_setup
|
38
40
|
self.setup
|
39
41
|
self.after_setup
|
40
42
|
self.run_test self.__name__
|
@@ -63,6 +65,7 @@ module Mocha
|
|
63
65
|
end
|
64
66
|
result
|
65
67
|
end
|
68
|
+
# rubocop:enable all
|
66
69
|
end
|
67
70
|
end
|
68
71
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem >= v2.3.0 <= v2.10.1'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
trap 'INFO' do
|
24
25
|
time = runner.start_time ? Time.now - runner.start_time : 0
|
@@ -31,6 +32,7 @@ module Mocha
|
|
31
32
|
begin
|
32
33
|
begin
|
33
34
|
@passed = nil
|
35
|
+
mocha_setup
|
34
36
|
self.setup
|
35
37
|
self.run_setup_hooks
|
36
38
|
self.__send__ self.__name__
|
@@ -58,6 +60,7 @@ module Mocha
|
|
58
60
|
end
|
59
61
|
result
|
60
62
|
end
|
63
|
+
# rubocop:enable all
|
61
64
|
end
|
62
65
|
end
|
63
66
|
end
|
@@ -11,14 +11,12 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
if mod.method_defined?(:run_before_mocha)
|
13
13
|
Debug.puts "#{mod}#run_before_mocha method already defined"
|
14
|
+
elsif mod.method_defined?(:run)
|
15
|
+
mod.send(:alias_method, :run_before_mocha, :run)
|
16
|
+
mod.send(:remove_method, :run)
|
17
|
+
mod.send(:include, run_method_patch)
|
14
18
|
else
|
15
|
-
|
16
|
-
mod.send(:alias_method, :run_before_mocha, :run)
|
17
|
-
mod.send(:remove_method, :run)
|
18
|
-
mod.send(:include, run_method_patch)
|
19
|
-
else
|
20
|
-
raise "Unable to monkey-patch #{mod}, because it does not define a `#run` method"
|
21
|
-
end
|
19
|
+
raise "Unable to monkey-patch #{mod}, because it does not define a `#run` method"
|
22
20
|
end
|
23
21
|
end
|
24
22
|
end
|
@@ -5,7 +5,6 @@ require 'mocha/expectation_error'
|
|
5
5
|
module Mocha
|
6
6
|
module Integration
|
7
7
|
module TestUnit
|
8
|
-
|
9
8
|
# Integrates Mocha into recent versions of Test::Unit.
|
10
9
|
#
|
11
10
|
# See the source code for an example of how to integrate Mocha into a test library.
|
@@ -13,13 +12,13 @@ module Mocha
|
|
13
12
|
include Mocha::API
|
14
13
|
|
15
14
|
# @private
|
16
|
-
def self.applicable_to?(test_unit_version,
|
15
|
+
def self.applicable_to?(test_unit_version, _ruby_version = nil)
|
17
16
|
Gem::Requirement.new('>= 2.5.1').satisfied_by?(test_unit_version)
|
18
17
|
end
|
19
18
|
|
20
19
|
# @private
|
21
20
|
def self.description
|
22
|
-
|
21
|
+
'adapter for Test::Unit gem >= v2.5.1'
|
23
22
|
end
|
24
23
|
|
25
24
|
# @private
|
@@ -39,10 +38,10 @@ module Mocha
|
|
39
38
|
private
|
40
39
|
|
41
40
|
# @private
|
42
|
-
def handle_mocha_expectation_error(
|
43
|
-
return false unless
|
41
|
+
def handle_mocha_expectation_error(exception)
|
42
|
+
return false unless exception.is_a?(Mocha::ExpectationError)
|
44
43
|
problem_occurred
|
45
|
-
add_failure(
|
44
|
+
add_failure(exception.message, exception.backtrace)
|
46
45
|
true
|
47
46
|
end
|
48
47
|
end
|
@@ -6,12 +6,12 @@ module Mocha
|
|
6
6
|
module Integration
|
7
7
|
module TestUnit
|
8
8
|
module GemVersion200
|
9
|
-
def self.applicable_to?(test_unit_version,
|
9
|
+
def self.applicable_to?(test_unit_version, _ruby_version = nil)
|
10
10
|
Gem::Requirement.new('2.0.0').satisfied_by?(test_unit_version)
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for Test::Unit gem v2.0.0'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run(result)
|
23
24
|
assertion_counter = AssertionCounter.new(self)
|
24
25
|
begin
|
@@ -26,6 +27,7 @@ module Mocha
|
|
26
27
|
yield(Test::Unit::TestCase::STARTED, name)
|
27
28
|
begin
|
28
29
|
begin
|
30
|
+
mocha_setup
|
29
31
|
run_setup
|
30
32
|
__send__(@method_name)
|
31
33
|
mocha_verify(assertion_counter)
|
@@ -52,6 +54,7 @@ module Mocha
|
|
52
54
|
@_result = nil
|
53
55
|
end
|
54
56
|
end
|
57
|
+
# rubocop:enable all
|
55
58
|
end
|
56
59
|
end
|
57
60
|
end
|
@@ -6,12 +6,12 @@ module Mocha
|
|
6
6
|
module Integration
|
7
7
|
module TestUnit
|
8
8
|
module GemVersion201To202
|
9
|
-
def self.applicable_to?(test_unit_version,
|
9
|
+
def self.applicable_to?(test_unit_version, _ruby_version = nil)
|
10
10
|
Gem::Requirement.new('>= 2.0.1', '<= 2.0.2').satisfied_by?(test_unit_version)
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for Test::Unit gem >= v2.0.1 and <= v2.0.2'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run(result)
|
23
24
|
assertion_counter = AssertionCounter.new(self)
|
24
25
|
begin
|
@@ -26,6 +27,7 @@ module Mocha
|
|
26
27
|
yield(Test::Unit::TestCase::STARTED, name)
|
27
28
|
begin
|
28
29
|
begin
|
30
|
+
mocha_setup
|
29
31
|
run_setup
|
30
32
|
run_test
|
31
33
|
mocha_verify(assertion_counter)
|
@@ -52,6 +54,7 @@ module Mocha
|
|
52
54
|
@_result = nil
|
53
55
|
end
|
54
56
|
end
|
57
|
+
# rubocop:enable all
|
55
58
|
end
|
56
59
|
end
|
57
60
|
end
|
@@ -6,12 +6,12 @@ module Mocha
|
|
6
6
|
module Integration
|
7
7
|
module TestUnit
|
8
8
|
module GemVersion203To220
|
9
|
-
def self.applicable_to?(test_unit_version,
|
9
|
+
def self.applicable_to?(test_unit_version, _ruby_version = nil)
|
10
10
|
Gem::Requirement.new('>= 2.0.3', '<= 2.2.0').satisfied_by?(test_unit_version)
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for Test::Unit gem >= v2.0.3 and <= v2.2.0'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run(result)
|
23
24
|
assertion_counter = AssertionCounter.new(self)
|
24
25
|
begin
|
@@ -26,6 +27,7 @@ module Mocha
|
|
26
27
|
yield(Test::Unit::TestCase::STARTED, name)
|
27
28
|
begin
|
28
29
|
begin
|
30
|
+
mocha_setup
|
29
31
|
run_setup
|
30
32
|
run_test
|
31
33
|
mocha_verify(assertion_counter)
|
@@ -52,6 +54,7 @@ module Mocha
|
|
52
54
|
# @_result = nil # For test-spec's after_all :<
|
53
55
|
end
|
54
56
|
end
|
57
|
+
# rubocop:enable all
|
55
58
|
end
|
56
59
|
end
|
57
60
|
end
|