mocha 1.2.1 → 2.0.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/.github/FUNDING.yml +1 -0
- data/.rubocop.yml +65 -0
- data/.rubocop_todo.yml +27 -0
- data/.yardopts +1 -0
- data/CONTRIBUTING.md +4 -9
- data/Gemfile +29 -0
- data/README.md +110 -106
- data/RELEASE.md +306 -1
- data/Rakefile +52 -45
- data/gemfiles/Gemfile.minitest.latest +1 -0
- data/gemfiles/Gemfile.test-unit.latest +2 -5
- data/lib/mocha/any_instance_method.rb +9 -62
- data/lib/mocha/api.rb +84 -68
- data/lib/mocha/argument_iterator.rb +4 -8
- data/lib/mocha/backtrace_filter.rb +1 -5
- data/lib/mocha/block_matcher.rb +31 -0
- data/lib/mocha/cardinality.rb +60 -49
- data/lib/mocha/central.rb +21 -12
- data/lib/mocha/change_state_side_effect.rb +0 -4
- data/lib/mocha/class_methods.rb +19 -21
- data/lib/mocha/configuration.rb +312 -47
- data/lib/mocha/debug.rb +3 -2
- data/lib/mocha/deprecation.rb +8 -11
- data/lib/mocha/detection/mini_test.rb +0 -2
- data/lib/mocha/detection/test_unit.rb +3 -5
- data/lib/mocha/error_with_filtered_backtrace.rb +13 -0
- data/lib/mocha/exception_raiser.rb +4 -6
- data/lib/mocha/expectation.rb +186 -95
- data/lib/mocha/expectation_error.rb +1 -1
- data/lib/mocha/expectation_error_factory.rb +0 -1
- data/lib/mocha/expectation_list.rb +7 -11
- data/lib/mocha/hooks.rb +1 -3
- data/lib/mocha/in_state_ordering_constraint.rb +0 -4
- data/lib/mocha/inspect.rb +30 -38
- data/lib/mocha/instance_method.rb +11 -8
- 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.rb +10 -31
- 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.rb +10 -26
- data/lib/mocha/invocation.rb +73 -0
- data/lib/mocha/is_a.rb +0 -2
- data/lib/mocha/logger.rb +0 -4
- data/lib/mocha/macos_version.rb +5 -0
- data/lib/mocha/method_matcher.rb +1 -5
- data/lib/mocha/minitest.rb +6 -0
- data/lib/mocha/mock.rb +99 -51
- data/lib/mocha/mockery.rb +70 -99
- data/lib/mocha/names.rb +2 -12
- data/lib/mocha/not_initialized_error.rb +7 -0
- data/lib/mocha/object_methods.rb +25 -31
- data/lib/mocha/parameter_matchers/all_of.rb +2 -8
- data/lib/mocha/parameter_matchers/any_of.rb +2 -8
- 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 +7 -13
- data/lib/mocha/parameter_matchers/equals.rb +0 -6
- data/lib/mocha/parameter_matchers/{query_string.rb → equivalent_uri.rb} +14 -15
- data/lib/mocha/parameter_matchers/has_entries.rb +2 -7
- data/lib/mocha/parameter_matchers/has_entry.rb +26 -21
- data/lib/mocha/parameter_matchers/has_key.rb +2 -7
- data/lib/mocha/parameter_matchers/has_keys.rb +53 -0
- data/lib/mocha/parameter_matchers/has_value.rb +2 -7
- data/lib/mocha/parameter_matchers/includes.rb +6 -7
- data/lib/mocha/parameter_matchers/instance_methods.rb +27 -0
- data/lib/mocha/parameter_matchers/instance_of.rb +0 -6
- data/lib/mocha/parameter_matchers/is_a.rb +2 -7
- data/lib/mocha/parameter_matchers/kind_of.rb +2 -6
- data/lib/mocha/parameter_matchers/not.rb +2 -7
- data/lib/mocha/parameter_matchers/optionally.rb +4 -10
- data/lib/mocha/parameter_matchers/positional_or_keyword_hash.rb +64 -0
- 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 +3 -4
- data/lib/mocha/parameters_matcher.rb +8 -11
- data/lib/mocha/raised_exception.rb +11 -0
- data/lib/mocha/receivers.rb +10 -14
- data/lib/mocha/return_values.rb +4 -8
- data/lib/mocha/ruby_version.rb +1 -2
- data/lib/mocha/sequence.rb +4 -9
- data/lib/mocha/single_return_value.rb +2 -5
- data/lib/mocha/state_machine.rb +33 -46
- data/lib/mocha/stubbed_method.rb +88 -0
- data/lib/mocha/stubbing_error.rb +2 -13
- data/lib/mocha/test_unit.rb +5 -2
- data/lib/mocha/thrower.rb +4 -6
- data/lib/mocha/thrown_object.rb +12 -0
- data/lib/mocha/version.rb +1 -1
- data/lib/mocha/yield_parameters.rb +7 -17
- data/mocha.gemspec +14 -65
- data/yard-templates/default/layout/html/google_analytics.erb +6 -9
- data/yard-templates/default/layout/html/setup.rb +2 -3
- metadata +26 -266
- data/bin/build-matrix +0 -70
- data/gemfiles/Gemfile.minitest.1.3.0 +0 -7
- data/gemfiles/Gemfile.minitest.1.4.0 +0 -7
- data/gemfiles/Gemfile.minitest.1.4.1 +0 -7
- data/gemfiles/Gemfile.minitest.1.4.2 +0 -7
- data/gemfiles/Gemfile.minitest.2.0.0 +0 -7
- data/gemfiles/Gemfile.minitest.2.0.1 +0 -7
- data/gemfiles/Gemfile.minitest.2.11.0 +0 -7
- data/gemfiles/Gemfile.minitest.2.11.2 +0 -7
- data/gemfiles/Gemfile.minitest.2.3.0 +0 -7
- data/gemfiles/Gemfile.test-unit.2.0.0 +0 -7
- data/gemfiles/Gemfile.test-unit.2.0.1 +0 -7
- data/gemfiles/Gemfile.test-unit.2.0.3 +0 -7
- data/init.rb +0 -3
- data/lib/mocha/class_method.rb +0 -119
- data/lib/mocha/integration/mini_test/nothing.rb +0 -19
- data/lib/mocha/integration/mini_test/version_13.rb +0 -51
- data/lib/mocha/integration/mini_test/version_140.rb +0 -51
- data/lib/mocha/integration/mini_test/version_141.rb +0 -62
- data/lib/mocha/integration/mini_test/version_142_to_172.rb +0 -62
- data/lib/mocha/integration/mini_test/version_200.rb +0 -63
- data/lib/mocha/integration/mini_test/version_201_to_222.rb +0 -63
- data/lib/mocha/integration/mini_test/version_2110_to_2111.rb +0 -67
- data/lib/mocha/integration/mini_test/version_2112_to_320.rb +0 -70
- data/lib/mocha/integration/mini_test/version_230_to_2101.rb +0 -65
- data/lib/mocha/integration/test_unit/gem_version_200.rb +0 -59
- data/lib/mocha/integration/test_unit/gem_version_201_to_202.rb +0 -59
- data/lib/mocha/integration/test_unit/gem_version_203_to_220.rb +0 -59
- data/lib/mocha/integration/test_unit/gem_version_230_to_250.rb +0 -65
- data/lib/mocha/integration/test_unit/nothing.rb +0 -19
- data/lib/mocha/integration/test_unit/ruby_version_185_and_below.rb +0 -58
- data/lib/mocha/integration/test_unit/ruby_version_186_and_above.rb +0 -60
- data/lib/mocha/integration.rb +0 -14
- data/lib/mocha/mini_test.rb +0 -3
- data/lib/mocha/module_method.rb +0 -16
- data/lib/mocha/module_methods.rb +0 -14
- data/lib/mocha/multiple_yields.rb +0 -20
- data/lib/mocha/no_yields.rb +0 -11
- data/lib/mocha/parameter_matchers/object.rb +0 -17
- data/lib/mocha/pretty_parameters.rb +0 -28
- data/lib/mocha/setup.rb +0 -9
- data/lib/mocha/single_yield.rb +0 -18
- data/lib/mocha/standalone.rb +0 -4
- data/lib/mocha/unexpected_invocation.rb +0 -26
- data/lib/mocha_standalone.rb +0 -4
- data/test/acceptance/acceptance_test_helper.rb +0 -41
- data/test/acceptance/bug_18914_test.rb +0 -43
- data/test/acceptance/bug_21465_test.rb +0 -34
- data/test/acceptance/bug_21563_test.rb +0 -25
- data/test/acceptance/exception_rescue_test.rb +0 -55
- data/test/acceptance/expectations_on_multiple_methods_test.rb +0 -55
- data/test/acceptance/expected_invocation_count_test.rb +0 -232
- data/test/acceptance/failure_messages_test.rb +0 -64
- data/test/acceptance/issue_272_test.rb +0 -52
- data/test/acceptance/issue_65_test.rb +0 -63
- data/test/acceptance/issue_70_test.rb +0 -55
- data/test/acceptance/mocha_example_test.rb +0 -98
- data/test/acceptance/mocha_test_result_test.rb +0 -84
- data/test/acceptance/mock_test.rb +0 -100
- data/test/acceptance/mock_with_initializer_block_test.rb +0 -51
- data/test/acceptance/mocked_methods_dispatch_test.rb +0 -78
- data/test/acceptance/multiple_expectations_failure_message_test.rb +0 -68
- data/test/acceptance/optional_parameters_test.rb +0 -70
- data/test/acceptance/parameter_matcher_test.rb +0 -337
- data/test/acceptance/partial_mocks_test.rb +0 -47
- data/test/acceptance/prepend_test.rb +0 -89
- data/test/acceptance/raise_exception_test.rb +0 -39
- data/test/acceptance/return_value_test.rb +0 -52
- data/test/acceptance/sequence_test.rb +0 -192
- data/test/acceptance/states_test.rb +0 -70
- data/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +0 -34
- data/test/acceptance/stub_any_instance_method_test.rb +0 -280
- data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +0 -106
- data/test/acceptance/stub_class_method_defined_on_class_test.rb +0 -78
- data/test/acceptance/stub_class_method_defined_on_module_test.rb +0 -75
- data/test/acceptance/stub_class_method_defined_on_superclass_test.rb +0 -112
- data/test/acceptance/stub_everything_test.rb +0 -56
- data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +0 -93
- data/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +0 -69
- data/test/acceptance/stub_instance_method_defined_on_class_test.rb +0 -69
- data/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +0 -75
- data/test/acceptance/stub_instance_method_defined_on_module_test.rb +0 -78
- data/test/acceptance/stub_instance_method_defined_on_object_class_test.rb +0 -75
- data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +0 -70
- data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +0 -72
- data/test/acceptance/stub_method_defined_on_module_and_aliased_test.rb +0 -39
- data/test/acceptance/stub_module_method_test.rb +0 -163
- data/test/acceptance/stub_test.rb +0 -52
- data/test/acceptance/stubba_example_test.rb +0 -102
- data/test/acceptance/stubba_test_result_test.rb +0 -66
- data/test/acceptance/stubbing_error_backtrace_test.rb +0 -64
- data/test/acceptance/stubbing_frozen_object_test.rb +0 -88
- data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +0 -48
- data/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -65
- data/test/acceptance/stubbing_nil_test.rb +0 -61
- data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -143
- data/test/acceptance/stubbing_non_existent_class_method_test.rb +0 -157
- data/test/acceptance/stubbing_non_existent_instance_method_test.rb +0 -147
- data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -130
- data/test/acceptance/stubbing_non_public_class_method_test.rb +0 -163
- data/test/acceptance/stubbing_non_public_instance_method_test.rb +0 -143
- data/test/acceptance/stubbing_on_non_mock_object_test.rb +0 -64
- data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +0 -35
- data/test/acceptance/throw_test.rb +0 -45
- data/test/acceptance/unexpected_invocation_test.rb +0 -25
- data/test/acceptance/unstubbing_test.rb +0 -168
- data/test/assertions.rb +0 -8
- data/test/deprecation_disabler.rb +0 -15
- data/test/execution_point.rb +0 -36
- data/test/integration/mini_test_test.rb +0 -8
- data/test/integration/shared_tests.rb +0 -174
- data/test/integration/test_unit_test.rb +0 -8
- data/test/method_definer.rb +0 -24
- data/test/mini_test_result.rb +0 -90
- data/test/minitest_result.rb +0 -49
- data/test/simple_counter.rb +0 -13
- data/test/test_helper.rb +0 -50
- data/test/test_runner.rb +0 -58
- data/test/test_unit_result.rb +0 -20
- data/test/unit/any_instance_method_test.rb +0 -134
- data/test/unit/array_inspect_test.rb +0 -16
- data/test/unit/backtrace_filter_test.rb +0 -19
- data/test/unit/cardinality_test.rb +0 -56
- data/test/unit/central_test.rb +0 -100
- data/test/unit/change_state_side_effect_test.rb +0 -41
- data/test/unit/class_method_test.rb +0 -225
- data/test/unit/class_methods_test.rb +0 -40
- data/test/unit/configuration_test.rb +0 -38
- data/test/unit/date_time_inspect_test.rb +0 -21
- data/test/unit/exception_raiser_test.rb +0 -42
- data/test/unit/expectation_list_test.rb +0 -82
- data/test/unit/expectation_test.rb +0 -497
- data/test/unit/hash_inspect_test.rb +0 -16
- data/test/unit/hooks_test.rb +0 -29
- data/test/unit/in_state_ordering_constraint_test.rb +0 -43
- data/test/unit/method_matcher_test.rb +0 -28
- data/test/unit/mock_test.rb +0 -342
- data/test/unit/mockery_test.rb +0 -151
- data/test/unit/module_methods_test.rb +0 -19
- data/test/unit/multiple_yields_test.rb +0 -18
- data/test/unit/no_yields_test.rb +0 -18
- data/test/unit/object_inspect_test.rb +0 -39
- data/test/unit/object_methods_test.rb +0 -46
- data/test/unit/parameter_matchers/all_of_test.rb +0 -26
- data/test/unit/parameter_matchers/any_of_test.rb +0 -26
- data/test/unit/parameter_matchers/anything_test.rb +0 -21
- data/test/unit/parameter_matchers/equals_test.rb +0 -25
- data/test/unit/parameter_matchers/has_entries_test.rb +0 -51
- data/test/unit/parameter_matchers/has_entry_test.rb +0 -129
- data/test/unit/parameter_matchers/has_key_test.rb +0 -55
- data/test/unit/parameter_matchers/has_value_test.rb +0 -57
- data/test/unit/parameter_matchers/includes_test.rb +0 -102
- data/test/unit/parameter_matchers/instance_of_test.rb +0 -25
- data/test/unit/parameter_matchers/is_a_test.rb +0 -25
- data/test/unit/parameter_matchers/kind_of_test.rb +0 -25
- data/test/unit/parameter_matchers/not_test.rb +0 -26
- data/test/unit/parameter_matchers/regexp_matches_test.rb +0 -46
- data/test/unit/parameter_matchers/responds_with_test.rb +0 -32
- data/test/unit/parameter_matchers/stub_matcher.rb +0 -27
- data/test/unit/parameter_matchers/yaml_equivalent_test.rb +0 -25
- data/test/unit/parameters_matcher_test.rb +0 -121
- data/test/unit/receivers_test.rb +0 -66
- data/test/unit/return_values_test.rb +0 -63
- data/test/unit/sequence_test.rb +0 -104
- data/test/unit/single_return_value_test.rb +0 -14
- data/test/unit/single_yield_test.rb +0 -18
- data/test/unit/state_machine_test.rb +0 -98
- data/test/unit/string_inspect_test.rb +0 -11
- data/test/unit/thrower_test.rb +0 -20
- data/test/unit/yield_parameters_test.rb +0 -93
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'mocha/integration/assertion_counter'
|
2
|
-
require 'mocha/integration/monkey_patcher'
|
3
|
-
require 'mocha/expectation_error'
|
4
|
-
|
5
|
-
module Mocha
|
6
|
-
module Integration
|
7
|
-
module TestUnit
|
8
|
-
module GemVersion200
|
9
|
-
def self.applicable_to?(test_unit_version, ruby_version = nil)
|
10
|
-
Gem::Requirement.new('2.0.0').satisfied_by?(test_unit_version)
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.description
|
14
|
-
"monkey patch for Test::Unit 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(result)
|
23
|
-
assertion_counter = AssertionCounter.new(self)
|
24
|
-
begin
|
25
|
-
@_result = result
|
26
|
-
yield(Test::Unit::TestCase::STARTED, name)
|
27
|
-
begin
|
28
|
-
begin
|
29
|
-
run_setup
|
30
|
-
__send__(@method_name)
|
31
|
-
mocha_verify(assertion_counter)
|
32
|
-
rescue Mocha::ExpectationError => e
|
33
|
-
add_failure(e.message, e.backtrace)
|
34
|
-
rescue Exception
|
35
|
-
@interrupted = true
|
36
|
-
raise unless handle_exception($!)
|
37
|
-
ensure
|
38
|
-
begin
|
39
|
-
run_teardown
|
40
|
-
rescue Mocha::ExpectationError => e
|
41
|
-
add_failure(e.message, e.backtrace)
|
42
|
-
rescue Exception
|
43
|
-
raise unless handle_exception($!)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
ensure
|
47
|
-
mocha_teardown
|
48
|
-
end
|
49
|
-
result.add_run
|
50
|
-
yield(Test::Unit::TestCase::FINISHED, name)
|
51
|
-
ensure
|
52
|
-
@_result = nil
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'mocha/integration/assertion_counter'
|
2
|
-
require 'mocha/integration/monkey_patcher'
|
3
|
-
require 'mocha/expectation_error'
|
4
|
-
|
5
|
-
module Mocha
|
6
|
-
module Integration
|
7
|
-
module TestUnit
|
8
|
-
module GemVersion201To202
|
9
|
-
def self.applicable_to?(test_unit_version, ruby_version = nil)
|
10
|
-
Gem::Requirement.new('>= 2.0.1', '<= 2.0.2').satisfied_by?(test_unit_version)
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.description
|
14
|
-
"monkey patch for Test::Unit gem >= v2.0.1 and <= v2.0.2"
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.included(mod)
|
18
|
-
MonkeyPatcher.apply(mod, RunMethodPatch)
|
19
|
-
end
|
20
|
-
|
21
|
-
module RunMethodPatch
|
22
|
-
def run(result)
|
23
|
-
assertion_counter = AssertionCounter.new(self)
|
24
|
-
begin
|
25
|
-
@_result = result
|
26
|
-
yield(Test::Unit::TestCase::STARTED, name)
|
27
|
-
begin
|
28
|
-
begin
|
29
|
-
run_setup
|
30
|
-
run_test
|
31
|
-
mocha_verify(assertion_counter)
|
32
|
-
rescue Mocha::ExpectationError => e
|
33
|
-
add_failure(e.message, e.backtrace)
|
34
|
-
rescue Exception
|
35
|
-
@interrupted = true
|
36
|
-
raise unless handle_exception($!)
|
37
|
-
ensure
|
38
|
-
begin
|
39
|
-
run_teardown
|
40
|
-
rescue Mocha::ExpectationError => e
|
41
|
-
add_failure(e.message, e.backtrace)
|
42
|
-
rescue Exception
|
43
|
-
raise unless handle_exception($!)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
ensure
|
47
|
-
mocha_teardown
|
48
|
-
end
|
49
|
-
result.add_run
|
50
|
-
yield(Test::Unit::TestCase::FINISHED, name)
|
51
|
-
ensure
|
52
|
-
@_result = nil
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'mocha/integration/assertion_counter'
|
2
|
-
require 'mocha/integration/monkey_patcher'
|
3
|
-
require 'mocha/expectation_error'
|
4
|
-
|
5
|
-
module Mocha
|
6
|
-
module Integration
|
7
|
-
module TestUnit
|
8
|
-
module GemVersion203To220
|
9
|
-
def self.applicable_to?(test_unit_version, ruby_version = nil)
|
10
|
-
Gem::Requirement.new('>= 2.0.3', '<= 2.2.0').satisfied_by?(test_unit_version)
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.description
|
14
|
-
"monkey patch for Test::Unit gem >= v2.0.3 and <= v2.2.0"
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.included(mod)
|
18
|
-
MonkeyPatcher.apply(mod, RunMethodPatch)
|
19
|
-
end
|
20
|
-
|
21
|
-
module RunMethodPatch
|
22
|
-
def run(result)
|
23
|
-
assertion_counter = AssertionCounter.new(self)
|
24
|
-
begin
|
25
|
-
@_result = result
|
26
|
-
yield(Test::Unit::TestCase::STARTED, name)
|
27
|
-
begin
|
28
|
-
begin
|
29
|
-
run_setup
|
30
|
-
run_test
|
31
|
-
mocha_verify(assertion_counter)
|
32
|
-
rescue Mocha::ExpectationError => e
|
33
|
-
add_failure(e.message, e.backtrace)
|
34
|
-
rescue Exception
|
35
|
-
@interrupted = true
|
36
|
-
raise unless handle_exception($!)
|
37
|
-
ensure
|
38
|
-
begin
|
39
|
-
run_teardown
|
40
|
-
rescue Mocha::ExpectationError => e
|
41
|
-
add_failure(e.message, e.backtrace)
|
42
|
-
rescue Exception
|
43
|
-
raise unless handle_exception($!)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
ensure
|
47
|
-
mocha_teardown
|
48
|
-
end
|
49
|
-
result.add_run
|
50
|
-
yield(Test::Unit::TestCase::FINISHED, name)
|
51
|
-
ensure
|
52
|
-
# @_result = nil # For test-spec's after_all :<
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
require 'mocha/integration/assertion_counter'
|
2
|
-
require 'mocha/integration/monkey_patcher'
|
3
|
-
require 'mocha/expectation_error'
|
4
|
-
|
5
|
-
module Mocha
|
6
|
-
module Integration
|
7
|
-
module TestUnit
|
8
|
-
module GemVersion230To250
|
9
|
-
def self.applicable_to?(test_unit_version, ruby_version = nil)
|
10
|
-
Gem::Requirement.new('>= 2.3.0', '<= 2.5.0').satisfied_by?(test_unit_version)
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.description
|
14
|
-
"monkey patch for Test::Unit gem >= v2.3.0 and <= v2.5.0"
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.included(mod)
|
18
|
-
MonkeyPatcher.apply(mod, RunMethodPatch)
|
19
|
-
end
|
20
|
-
|
21
|
-
module RunMethodPatch
|
22
|
-
def run(result)
|
23
|
-
assertion_counter = AssertionCounter.new(self)
|
24
|
-
begin
|
25
|
-
@internal_data.test_started
|
26
|
-
@_result = result
|
27
|
-
yield(Test::Unit::TestCase::STARTED, name)
|
28
|
-
yield(Test::Unit::TestCase::STARTED_OBJECT, self)
|
29
|
-
begin
|
30
|
-
begin
|
31
|
-
run_setup
|
32
|
-
run_test
|
33
|
-
run_cleanup
|
34
|
-
mocha_verify(assertion_counter)
|
35
|
-
add_pass
|
36
|
-
rescue Mocha::ExpectationError => e
|
37
|
-
add_failure(e.message, e.backtrace)
|
38
|
-
rescue Exception
|
39
|
-
@internal_data.interrupted
|
40
|
-
raise unless handle_exception($!)
|
41
|
-
ensure
|
42
|
-
begin
|
43
|
-
run_teardown
|
44
|
-
rescue Mocha::ExpectationError => e
|
45
|
-
add_failure(e.message, e.backtrace)
|
46
|
-
rescue Exception
|
47
|
-
raise unless handle_exception($!)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
ensure
|
51
|
-
mocha_teardown
|
52
|
-
end
|
53
|
-
@internal_data.test_finished
|
54
|
-
result.add_run
|
55
|
-
yield(Test::Unit::TestCase::FINISHED, name)
|
56
|
-
yield(Test::Unit::TestCase::FINISHED_OBJECT, self)
|
57
|
-
ensure
|
58
|
-
# @_result = nil # For test-spec's after_all :<
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
module Integration
|
3
|
-
module TestUnit
|
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 Test::Unit integration available)"
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.included(mod)
|
14
|
-
raise "No Test::Unit integration available"
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'mocha/integration/assertion_counter'
|
2
|
-
require 'mocha/integration/monkey_patcher'
|
3
|
-
require 'mocha/expectation_error'
|
4
|
-
|
5
|
-
module Mocha
|
6
|
-
module Integration
|
7
|
-
module TestUnit
|
8
|
-
module RubyVersion185AndBelow
|
9
|
-
def self.applicable_to?(test_unit_version, ruby_version)
|
10
|
-
Gem::Requirement.new('<= 1.2.3').satisfied_by?(test_unit_version) && Gem::Requirement.new('<= 1.8.5').satisfied_by?(ruby_version)
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.description
|
14
|
-
"monkey patch for standard library in Ruby <= v1.8.5"
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.included(mod)
|
18
|
-
MonkeyPatcher.apply(mod, RunMethodPatch)
|
19
|
-
end
|
20
|
-
|
21
|
-
module RunMethodPatch
|
22
|
-
def run(result)
|
23
|
-
assertion_counter = AssertionCounter.new(self)
|
24
|
-
yield(Test::Unit::TestCase::STARTED, name)
|
25
|
-
@_result = result
|
26
|
-
begin
|
27
|
-
begin
|
28
|
-
setup
|
29
|
-
__send__(@method_name)
|
30
|
-
mocha_verify(assertion_counter)
|
31
|
-
rescue Mocha::ExpectationError => e
|
32
|
-
add_failure(e.message, e.backtrace)
|
33
|
-
rescue Test::Unit::AssertionFailedError => e
|
34
|
-
add_failure(e.message, e.backtrace)
|
35
|
-
rescue StandardError, ScriptError
|
36
|
-
add_error($!)
|
37
|
-
ensure
|
38
|
-
begin
|
39
|
-
teardown
|
40
|
-
rescue Mocha::ExpectationError => e
|
41
|
-
add_failure(e.message, e.backtrace)
|
42
|
-
rescue Test::Unit::AssertionFailedError => e
|
43
|
-
add_failure(e.message, e.backtrace)
|
44
|
-
rescue StandardError, ScriptError
|
45
|
-
add_error($!)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
ensure
|
49
|
-
mocha_teardown
|
50
|
-
end
|
51
|
-
result.add_run
|
52
|
-
yield(Test::Unit::TestCase::FINISHED, name)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
require 'mocha/integration/assertion_counter'
|
2
|
-
require 'mocha/integration/monkey_patcher'
|
3
|
-
require 'mocha/expectation_error'
|
4
|
-
|
5
|
-
module Mocha
|
6
|
-
module Integration
|
7
|
-
module TestUnit
|
8
|
-
module RubyVersion186AndAbove
|
9
|
-
def self.applicable_to?(test_unit_version, ruby_version)
|
10
|
-
Gem::Requirement.new('<= 1.2.3').satisfied_by?(test_unit_version) && Gem::Requirement.new('>= 1.8.6').satisfied_by?(ruby_version)
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.description
|
14
|
-
"monkey patch for standard library Test::Unit in Ruby >= v1.8.6"
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.included(mod)
|
18
|
-
MonkeyPatcher.apply(mod, RunMethodPatch)
|
19
|
-
end
|
20
|
-
|
21
|
-
module RunMethodPatch
|
22
|
-
def run(result)
|
23
|
-
assertion_counter = AssertionCounter.new(self)
|
24
|
-
yield(Test::Unit::TestCase::STARTED, name)
|
25
|
-
@_result = result
|
26
|
-
begin
|
27
|
-
begin
|
28
|
-
setup
|
29
|
-
__send__(@method_name)
|
30
|
-
mocha_verify(assertion_counter)
|
31
|
-
rescue Mocha::ExpectationError => e
|
32
|
-
add_failure(e.message, e.backtrace)
|
33
|
-
rescue Test::Unit::AssertionFailedError => e
|
34
|
-
add_failure(e.message, e.backtrace)
|
35
|
-
rescue Exception
|
36
|
-
raise if Test::Unit::TestCase::PASSTHROUGH_EXCEPTIONS.include? $!.class
|
37
|
-
add_error($!)
|
38
|
-
ensure
|
39
|
-
begin
|
40
|
-
teardown
|
41
|
-
rescue Mocha::ExpectationError => e
|
42
|
-
add_failure(e.message, e.backtrace)
|
43
|
-
rescue Test::Unit::AssertionFailedError => e
|
44
|
-
add_failure(e.message, e.backtrace)
|
45
|
-
rescue Exception
|
46
|
-
raise if Test::Unit::TestCase::PASSTHROUGH_EXCEPTIONS.include? $!.class
|
47
|
-
add_error($!)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
ensure
|
51
|
-
mocha_teardown
|
52
|
-
end
|
53
|
-
result.add_run
|
54
|
-
yield(Test::Unit::TestCase::FINISHED, name)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
data/lib/mocha/integration.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'mocha/deprecation'
|
2
|
-
require 'mocha/integration/test_unit'
|
3
|
-
require 'mocha/integration/mini_test'
|
4
|
-
|
5
|
-
module Mocha
|
6
|
-
module Integration
|
7
|
-
def self.activate
|
8
|
-
if [Integration::TestUnit, Integration::MiniTest].map(&:activate).none?
|
9
|
-
Deprecation.warning("Test::Unit or MiniTest must be loaded *before* `require 'mocha/setup'`.")
|
10
|
-
Deprecation.warning("If you're integrating with a test library other than Test::Unit or MiniTest, you should use `require 'mocha/api'` instead of `require 'mocha/setup'`.")
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
data/lib/mocha/mini_test.rb
DELETED
data/lib/mocha/module_method.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'mocha/class_method'
|
2
|
-
|
3
|
-
module Mocha
|
4
|
-
|
5
|
-
class ModuleMethod < ClassMethod
|
6
|
-
|
7
|
-
def method_exists?(method)
|
8
|
-
return true if stubbee.public_methods(false).include?(method)
|
9
|
-
return true if stubbee.protected_methods(false).include?(method)
|
10
|
-
return true if stubbee.private_methods(false).include?(method)
|
11
|
-
return false
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
data/lib/mocha/module_methods.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
class MultipleYields
|
4
|
-
|
5
|
-
attr_reader :parameter_groups
|
6
|
-
|
7
|
-
def initialize(*parameter_groups)
|
8
|
-
@parameter_groups = parameter_groups
|
9
|
-
end
|
10
|
-
|
11
|
-
def each
|
12
|
-
@parameter_groups.each do |parameter_group|
|
13
|
-
yield(parameter_group)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
|
data/lib/mocha/no_yields.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'mocha/parameter_matchers/equals'
|
2
|
-
|
3
|
-
module Mocha
|
4
|
-
|
5
|
-
module ObjectMethods
|
6
|
-
# @private
|
7
|
-
def to_matcher
|
8
|
-
Mocha::ParameterMatchers::Equals.new(self)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
end
|
13
|
-
|
14
|
-
# @private
|
15
|
-
class Object
|
16
|
-
include Mocha::ObjectMethods
|
17
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'mocha/inspect'
|
2
|
-
|
3
|
-
module Mocha
|
4
|
-
|
5
|
-
class PrettyParameters
|
6
|
-
|
7
|
-
def initialize(params)
|
8
|
-
@params = params
|
9
|
-
@params_string = params.mocha_inspect
|
10
|
-
end
|
11
|
-
|
12
|
-
def pretty
|
13
|
-
remove_outer_array_braces!
|
14
|
-
remove_outer_hash_braces!
|
15
|
-
@params_string
|
16
|
-
end
|
17
|
-
|
18
|
-
def remove_outer_array_braces!
|
19
|
-
@params_string = @params_string.gsub(/^\[|\]$/, '')
|
20
|
-
end
|
21
|
-
|
22
|
-
def remove_outer_hash_braces!
|
23
|
-
@params_string = @params_string.gsub(/^\{|\}$/, '') if @params.length == 1
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
data/lib/mocha/setup.rb
DELETED
data/lib/mocha/single_yield.rb
DELETED
data/lib/mocha/standalone.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
# Exception raised when an unexpected method is invoked
|
4
|
-
class UnexpectedInvocation
|
5
|
-
|
6
|
-
# @private
|
7
|
-
def initialize(mock, symbol, *arguments)
|
8
|
-
@mock, @symbol, @arguments = mock, symbol, arguments
|
9
|
-
end
|
10
|
-
|
11
|
-
# @private
|
12
|
-
def full_description
|
13
|
-
method_matcher = MethodMatcher.new(@symbol)
|
14
|
-
parameters_matcher = ParametersMatcher.new(@arguments)
|
15
|
-
method_signature = "#{@mock.mocha_inspect}.#{method_matcher.mocha_inspect}#{parameters_matcher.mocha_inspect}"
|
16
|
-
"unexpected invocation: #{method_signature}\n"
|
17
|
-
end
|
18
|
-
|
19
|
-
# @private
|
20
|
-
def short_description
|
21
|
-
"unexpected invocation: #{@symbol}(#{@arguments.join(', ')})"
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
data/lib/mocha_standalone.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
require File.expand_path('../../test_helper', __FILE__)
|
2
|
-
require 'test_runner'
|
3
|
-
require 'mocha/configuration'
|
4
|
-
require 'introspection'
|
5
|
-
|
6
|
-
module AcceptanceTest
|
7
|
-
|
8
|
-
class FakeLogger
|
9
|
-
|
10
|
-
attr_reader :warnings
|
11
|
-
|
12
|
-
def initialize
|
13
|
-
@warnings = []
|
14
|
-
end
|
15
|
-
|
16
|
-
def warn(message)
|
17
|
-
@warnings << message
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
|
22
|
-
attr_reader :logger
|
23
|
-
|
24
|
-
include TestRunner
|
25
|
-
|
26
|
-
def setup_acceptance_test
|
27
|
-
Mocha::Configuration.reset_configuration
|
28
|
-
@logger = FakeLogger.new
|
29
|
-
mockery = Mocha::Mockery.instance
|
30
|
-
@original_logger = mockery.logger
|
31
|
-
mockery.logger = @logger
|
32
|
-
end
|
33
|
-
|
34
|
-
def teardown_acceptance_test
|
35
|
-
Mocha::Configuration.reset_configuration
|
36
|
-
Mocha::Mockery.instance.logger = @original_logger
|
37
|
-
end
|
38
|
-
|
39
|
-
include Introspection::Assertions
|
40
|
-
|
41
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
|
-
require 'mocha/setup'
|
3
|
-
|
4
|
-
class Bug18914Test < Mocha::TestCase
|
5
|
-
|
6
|
-
include AcceptanceTest
|
7
|
-
|
8
|
-
def setup
|
9
|
-
setup_acceptance_test
|
10
|
-
end
|
11
|
-
|
12
|
-
def teardown
|
13
|
-
teardown_acceptance_test
|
14
|
-
end
|
15
|
-
|
16
|
-
class AlwaysEql
|
17
|
-
|
18
|
-
def my_method
|
19
|
-
true
|
20
|
-
end
|
21
|
-
|
22
|
-
def ==(o)
|
23
|
-
true
|
24
|
-
end
|
25
|
-
|
26
|
-
def eql?(o)
|
27
|
-
true
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_should_not_allow_stubbing_of_non_mock_instance_disrupted_by_legitimate_overriding_of_eql_method
|
33
|
-
|
34
|
-
always_eql_1 = AlwaysEql.new
|
35
|
-
always_eql_1.stubs(:my_method).returns(false)
|
36
|
-
|
37
|
-
always_eql_2 = AlwaysEql.new
|
38
|
-
always_eql_2.stubs(:my_method).returns(false)
|
39
|
-
|
40
|
-
assert_equal false, always_eql_2.my_method
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|