mocha 1.1.0 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/FUNDING.yml +1 -0
- data/.rubocop.yml +61 -0
- data/.rubocop_todo.yml +27 -0
- data/.yardopts +1 -0
- data/CONTRIBUTING.md +4 -9
- data/README.md +114 -28
- data/RELEASE.md +248 -1
- data/Rakefile +53 -35
- data/gemfiles/Gemfile.test-unit.latest +5 -1
- data/init.rb +1 -3
- data/lib/mocha/any_instance_method.rb +12 -72
- data/lib/mocha/api.rb +121 -56
- 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 -20
- data/lib/mocha/configuration.rb +361 -18
- 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 +125 -89
- 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 +15 -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/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/mini_test.rb +7 -0
- data/lib/mocha/integration/monkey_patcher.rb +8 -2
- 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/test_unit.rb +7 -0
- data/lib/mocha/integration.rb +2 -5
- data/lib/mocha/invocation.rb +77 -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 +8 -0
- data/lib/mocha/mock.rb +94 -46
- data/lib/mocha/mockery.rb +72 -98
- 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 +6 -12
- data/lib/mocha/parameter_matchers/equals.rb +1 -7
- data/lib/mocha/parameter_matchers/{query_string.rb → equivalent_uri.rb} +15 -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 +50 -8
- data/lib/mocha/parameter_matchers/instance_methods.rb +18 -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/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 +6 -9
- 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 +4 -0
- data/lib/mocha/sequence.rb +4 -9
- data/lib/mocha/setup.rb +5 -0
- data/lib/mocha/single_return_value.rb +2 -5
- data/lib/mocha/singleton_class.rb +9 -0
- data/lib/mocha/state_machine.rb +33 -46
- data/lib/mocha/stubbed_method.rb +125 -0
- data/lib/mocha/stubbing_error.rb +2 -13
- data/lib/mocha/test_unit.rb +7 -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/lib/mocha.rb +8 -0
- data/mocha.gemspec +42 -40
- data/yard-templates/default/layout/html/google_analytics.erb +6 -9
- data/yard-templates/default/layout/html/setup.rb +2 -3
- metadata +45 -191
- data/bin/build-matrix +0 -71
- 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/lib/mocha/class_method.rb +0 -127
- 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/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_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 -88
- 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 -238
- 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 -75
- 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_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 -59
- data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -130
- 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 -6
- 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 -132
- 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 -223
- 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 -341
- 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 -38
- 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 -59
- 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,88 +0,0 @@
|
|
1
|
-
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
|
-
require 'mocha/setup'
|
3
|
-
require 'execution_point'
|
4
|
-
|
5
|
-
class StubbingFrozenObjectTest < Mocha::TestCase
|
6
|
-
|
7
|
-
include AcceptanceTest
|
8
|
-
|
9
|
-
def setup
|
10
|
-
setup_acceptance_test
|
11
|
-
end
|
12
|
-
|
13
|
-
def teardown
|
14
|
-
teardown_acceptance_test
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_should_fail_fast_if_attempting_to_stub_method_on_frozen_object
|
18
|
-
object = Object.new
|
19
|
-
object.freeze
|
20
|
-
execution_point = nil
|
21
|
-
test_result = run_as_test do
|
22
|
-
execution_point = ExecutionPoint.current; object.stubs(:stubbed_method)
|
23
|
-
end
|
24
|
-
assert_failed(test_result)
|
25
|
-
assert_equal 1, test_result.error_count
|
26
|
-
assert_equal execution_point, ExecutionPoint.new(test_result.errors[0].exception.backtrace)
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_should_fail_fast_if_attempting_to_expect_method_on_frozen_object
|
30
|
-
object = Object.new
|
31
|
-
object.freeze
|
32
|
-
execution_point = nil
|
33
|
-
test_result = run_as_test do
|
34
|
-
execution_point = ExecutionPoint.current; object.expects(:stubbed_method)
|
35
|
-
end
|
36
|
-
assert_failed(test_result)
|
37
|
-
assert_equal 1, test_result.error_count
|
38
|
-
assert_equal execution_point, ExecutionPoint.new(test_result.errors[0].exception.backtrace)
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_should_fail_fast_if_attempting_to_stub_method_on_frozen_class
|
42
|
-
klass = Class.new
|
43
|
-
klass.freeze
|
44
|
-
execution_point = nil
|
45
|
-
test_result = run_as_test do
|
46
|
-
execution_point = ExecutionPoint.current; klass.stubs(:stubbed_method)
|
47
|
-
end
|
48
|
-
assert_failed(test_result)
|
49
|
-
assert_equal 1, test_result.error_count
|
50
|
-
assert_equal execution_point, ExecutionPoint.new(test_result.errors[0].exception.backtrace)
|
51
|
-
end
|
52
|
-
|
53
|
-
def test_should_fail_fast_if_attempting_to_expect_method_on_frozen_class
|
54
|
-
klass = Class.new
|
55
|
-
klass.freeze
|
56
|
-
execution_point = nil
|
57
|
-
test_result = run_as_test do
|
58
|
-
execution_point = ExecutionPoint.current; klass.expects(:stubbed_method)
|
59
|
-
end
|
60
|
-
assert_failed(test_result)
|
61
|
-
assert_equal 1, test_result.error_count
|
62
|
-
assert_equal execution_point, ExecutionPoint.new(test_result.errors[0].exception.backtrace)
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_should_fail_fast_if_attempting_to_stub_method_on_any_instance_of_frozen_class
|
66
|
-
klass = Class.new
|
67
|
-
klass.freeze
|
68
|
-
execution_point = nil
|
69
|
-
test_result = run_as_test do
|
70
|
-
execution_point = ExecutionPoint.current; klass.any_instance.stubs(:stubbed_method)
|
71
|
-
end
|
72
|
-
assert_failed(test_result)
|
73
|
-
assert_equal 1, test_result.error_count
|
74
|
-
assert_equal execution_point, ExecutionPoint.new(test_result.errors[0].exception.backtrace)
|
75
|
-
end
|
76
|
-
|
77
|
-
def test_should_fail_fast_if_attempting_to_expect_method_on_any_instance_of_frozen_class
|
78
|
-
klass = Class.new
|
79
|
-
klass.freeze
|
80
|
-
execution_point = nil
|
81
|
-
test_result = run_as_test do
|
82
|
-
execution_point = ExecutionPoint.current; klass.any_instance.expects(:stubbed_method)
|
83
|
-
end
|
84
|
-
assert_failed(test_result)
|
85
|
-
assert_equal 1, test_result.error_count
|
86
|
-
assert_equal execution_point, ExecutionPoint.new(test_result.errors[0].exception.backtrace)
|
87
|
-
end
|
88
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
|
-
require 'mocha/setup'
|
3
|
-
|
4
|
-
class StubbingMethodAcceptingBlockParameterTest < 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
|
-
def test_stubbing_class_method_accepting_block_parameter_should_restore_original_method
|
17
|
-
klass = Class.new do
|
18
|
-
def self.my_class_method(&block); block.call; end
|
19
|
-
end
|
20
|
-
test_result = run_as_test do
|
21
|
-
klass.stubs(:my_class_method)
|
22
|
-
end
|
23
|
-
assert_passed(test_result)
|
24
|
-
assert_equal :return_value, klass.my_class_method { :return_value }
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_stubbing_instance_method_accepting_block_parameter_should_restore_original_method
|
28
|
-
instance = Class.new do
|
29
|
-
def my_instance_method(&block); block.call; end
|
30
|
-
end.new
|
31
|
-
test_result = run_as_test do
|
32
|
-
instance.stubs(:my_instance_method)
|
33
|
-
end
|
34
|
-
assert_passed(test_result)
|
35
|
-
assert_equal :return_value, instance.my_instance_method { :return_value }
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_stubbing_any_instance_method_accepting_block_parameter_should_restore_original_method
|
39
|
-
klass = Class.new do
|
40
|
-
def my_instance_method(&block); block.call; end
|
41
|
-
end
|
42
|
-
test_result = run_as_test do
|
43
|
-
klass.any_instance.stubs(:my_instance_method)
|
44
|
-
end
|
45
|
-
assert_passed(test_result)
|
46
|
-
assert_equal :return_value, klass.new.my_instance_method { :return_value }
|
47
|
-
end
|
48
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
|
-
require 'mocha/setup'
|
3
|
-
|
4
|
-
class StubbingMethodUnnecessarilyTest < 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
|
-
def test_should_allow_stubbing_method_unnecessarily
|
17
|
-
Mocha::Configuration.allow(:stubbing_method_unnecessarily)
|
18
|
-
test_result = run_as_test do
|
19
|
-
mock = mock('mock')
|
20
|
-
mock.stubs(:public_method)
|
21
|
-
end
|
22
|
-
assert_passed(test_result)
|
23
|
-
assert !@logger.warnings.include?('stubbing method unnecessarily: #<Mock:mock>.public_method(any_parameters)')
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_should_warn_when_stubbing_method_unnecessarily
|
27
|
-
Mocha::Configuration.warn_when(:stubbing_method_unnecessarily)
|
28
|
-
test_result = run_as_test do
|
29
|
-
mock = mock('mock')
|
30
|
-
mock.stubs(:public_method)
|
31
|
-
end
|
32
|
-
assert_passed(test_result)
|
33
|
-
assert @logger.warnings.include?('stubbing method unnecessarily: #<Mock:mock>.public_method(any_parameters)')
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_should_prevent_stubbing_method_unnecessarily
|
37
|
-
Mocha::Configuration.prevent(:stubbing_method_unnecessarily)
|
38
|
-
test_result = run_as_test do
|
39
|
-
mock = mock('mock')
|
40
|
-
mock.stubs(:public_method)
|
41
|
-
end
|
42
|
-
assert_failed(test_result)
|
43
|
-
assert test_result.error_messages.include?('Mocha::StubbingError: stubbing method unnecessarily: #<Mock:mock>.public_method(any_parameters)')
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_should_default_to_allow_stubbing_method_unnecessarily
|
47
|
-
test_result = run_as_test do
|
48
|
-
mock = mock('mock')
|
49
|
-
mock.stubs(:public_method)
|
50
|
-
end
|
51
|
-
assert_passed(test_result)
|
52
|
-
assert !@logger.warnings.include?('stubbing method unnecessarily: #<Mock:mock>.public_method(any_parameters)')
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_should_allow_stubbing_method_when_stubbed_method_is_invoked
|
56
|
-
Mocha::Configuration.prevent(:stubbing_method_unnecessarily)
|
57
|
-
test_result = run_as_test do
|
58
|
-
mock = mock('mock')
|
59
|
-
mock.stubs(:public_method)
|
60
|
-
mock.public_method
|
61
|
-
end
|
62
|
-
assert_passed(test_result)
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
|
-
require 'mocha/setup'
|
3
|
-
|
4
|
-
class StubbingNilTest < 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
|
-
def test_should_allow_stubbing_method_on_nil
|
17
|
-
Mocha::Configuration.allow(:stubbing_method_on_nil)
|
18
|
-
test_result = run_as_test do
|
19
|
-
nil.stubs(:stubbed_method)
|
20
|
-
end
|
21
|
-
assert_passed(test_result)
|
22
|
-
assert !@logger.warnings.include?("stubbing method on nil: nil.stubbed_method")
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_should_warn_on_stubbing_method_on_nil
|
26
|
-
Mocha::Configuration.warn_when(:stubbing_method_on_nil)
|
27
|
-
test_result = run_as_test do
|
28
|
-
nil.stubs(:stubbed_method)
|
29
|
-
end
|
30
|
-
assert_passed(test_result)
|
31
|
-
assert @logger.warnings.include?("stubbing method on nil: nil.stubbed_method")
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_should_prevent_stubbing_method_on_nil
|
35
|
-
Mocha::Configuration.prevent(:stubbing_method_on_nil)
|
36
|
-
test_result = run_as_test do
|
37
|
-
nil.stubs(:stubbed_method)
|
38
|
-
end
|
39
|
-
assert_failed(test_result)
|
40
|
-
assert test_result.error_messages.include?("Mocha::StubbingError: stubbing method on nil: nil.stubbed_method")
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_should_default_to_prevent_stubbing_method_on_non_mock_object
|
44
|
-
test_result = run_as_test do
|
45
|
-
nil.stubs(:stubbed_method)
|
46
|
-
end
|
47
|
-
assert_failed(test_result)
|
48
|
-
assert test_result.error_messages.include?("Mocha::StubbingError: stubbing method on nil: nil.stubbed_method")
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_should_allow_stubbing_method_on_non_nil_object
|
52
|
-
Mocha::Configuration.prevent(:stubbing_method_on_nil)
|
53
|
-
object = Object.new
|
54
|
-
test_result = run_as_test do
|
55
|
-
object.stubs(:stubbed_method)
|
56
|
-
end
|
57
|
-
assert_passed(test_result)
|
58
|
-
end
|
59
|
-
end
|
@@ -1,130 +0,0 @@
|
|
1
|
-
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
|
-
require 'mocha/setup'
|
3
|
-
|
4
|
-
class StubbingNonExistentAnyInstanceMethodTest < 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
|
-
def test_should_allow_stubbing_non_existent_any_instance_method
|
17
|
-
Mocha::Configuration.allow(:stubbing_non_existent_method)
|
18
|
-
klass = Class.new
|
19
|
-
test_result = run_as_test do
|
20
|
-
klass.any_instance.stubs(:non_existent_method)
|
21
|
-
end
|
22
|
-
assert !@logger.warnings.include?("stubbing non-existent method: #{klass.any_instance.mocha_inspect}.non_existent_method")
|
23
|
-
assert_passed(test_result)
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_should_warn_when_stubbing_non_existent_any_instance_method
|
27
|
-
Mocha::Configuration.warn_when(:stubbing_non_existent_method)
|
28
|
-
klass = Class.new
|
29
|
-
test_result = run_as_test do
|
30
|
-
klass.any_instance.stubs(:non_existent_method)
|
31
|
-
end
|
32
|
-
assert_passed(test_result)
|
33
|
-
assert @logger.warnings.include?("stubbing non-existent method: #{klass.any_instance.mocha_inspect}.non_existent_method")
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_should_prevent_stubbing_non_existent_any_instance_method
|
37
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
38
|
-
klass = Class.new
|
39
|
-
test_result = run_as_test do
|
40
|
-
klass.any_instance.stubs(:non_existent_method)
|
41
|
-
end
|
42
|
-
assert_failed(test_result)
|
43
|
-
assert test_result.error_messages.include?("Mocha::StubbingError: stubbing non-existent method: #{klass.any_instance.mocha_inspect}.non_existent_method")
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_should_default_to_allow_stubbing_non_existent_any_instance_method
|
47
|
-
klass = Class.new
|
48
|
-
test_result = run_as_test do
|
49
|
-
klass.any_instance.stubs(:non_existent_method)
|
50
|
-
end
|
51
|
-
assert !@logger.warnings.include?("stubbing non-existent method: #{klass.any_instance.mocha_inspect}.non_existent_method")
|
52
|
-
assert_passed(test_result)
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_should_allow_stubbing_existing_public_any_instance_method
|
56
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
57
|
-
klass = Class.new do
|
58
|
-
def existing_public_method; end
|
59
|
-
public :existing_public_method
|
60
|
-
end
|
61
|
-
test_result = run_as_test do
|
62
|
-
klass.any_instance.stubs(:existing_public_method)
|
63
|
-
end
|
64
|
-
assert_passed(test_result)
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_should_allow_stubbing_existing_protected_any_instance_method
|
68
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
69
|
-
klass = Class.new do
|
70
|
-
def existing_protected_method; end
|
71
|
-
protected :existing_protected_method
|
72
|
-
end
|
73
|
-
test_result = run_as_test do
|
74
|
-
klass.any_instance.stubs(:existing_protected_method)
|
75
|
-
end
|
76
|
-
assert_passed(test_result)
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_should_allow_stubbing_existing_private_any_instance_method
|
80
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
81
|
-
klass = Class.new do
|
82
|
-
def existing_private_method; end
|
83
|
-
private :existing_private_method
|
84
|
-
end
|
85
|
-
test_result = run_as_test do
|
86
|
-
klass.any_instance.stubs(:existing_private_method)
|
87
|
-
end
|
88
|
-
assert_passed(test_result)
|
89
|
-
end
|
90
|
-
|
91
|
-
def test_should_allow_stubbing_existing_public_any_instance_superclass_method
|
92
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
93
|
-
superklass = Class.new do
|
94
|
-
def existing_public_method; end
|
95
|
-
public :existing_public_method
|
96
|
-
end
|
97
|
-
klass = Class.new(superklass)
|
98
|
-
test_result = run_as_test do
|
99
|
-
klass.any_instance.stubs(:existing_public_method)
|
100
|
-
end
|
101
|
-
assert_passed(test_result)
|
102
|
-
end
|
103
|
-
|
104
|
-
def test_should_allow_stubbing_existing_protected_any_instance_superclass_method
|
105
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
106
|
-
superklass = Class.new do
|
107
|
-
def existing_protected_method; end
|
108
|
-
protected :existing_protected_method
|
109
|
-
end
|
110
|
-
klass = Class.new(superklass)
|
111
|
-
test_result = run_as_test do
|
112
|
-
klass.any_instance.stubs(:existing_protected_method)
|
113
|
-
end
|
114
|
-
assert_passed(test_result)
|
115
|
-
end
|
116
|
-
|
117
|
-
def test_should_allow_stubbing_existing_private_any_instance_superclass_method
|
118
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
119
|
-
superklass = Class.new do
|
120
|
-
def existing_private_method; end
|
121
|
-
private :existing_private_method
|
122
|
-
end
|
123
|
-
klass = Class.new(superklass)
|
124
|
-
test_result = run_as_test do
|
125
|
-
klass.any_instance.stubs(:existing_private_method)
|
126
|
-
end
|
127
|
-
assert_passed(test_result)
|
128
|
-
end
|
129
|
-
|
130
|
-
end
|
@@ -1,157 +0,0 @@
|
|
1
|
-
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
|
-
require 'mocha/setup'
|
3
|
-
|
4
|
-
class StubbingNonExistentClassMethodTest < 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
|
-
def test_should_allow_stubbing_non_existent_class_method
|
17
|
-
Mocha::Configuration.allow(:stubbing_non_existent_method)
|
18
|
-
klass = Class.new
|
19
|
-
test_result = run_as_test do
|
20
|
-
klass.stubs(:non_existent_method)
|
21
|
-
end
|
22
|
-
assert !@logger.warnings.include?("stubbing non-existent method: #{klass.mocha_inspect}.non_existent_method")
|
23
|
-
assert_passed(test_result)
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_should_warn_when_stubbing_non_existent_class_method
|
27
|
-
Mocha::Configuration.warn_when(:stubbing_non_existent_method)
|
28
|
-
klass = Class.new
|
29
|
-
test_result = run_as_test do
|
30
|
-
klass.stubs(:non_existent_method)
|
31
|
-
end
|
32
|
-
assert_passed(test_result)
|
33
|
-
assert @logger.warnings.include?("stubbing non-existent method: #{klass.mocha_inspect}.non_existent_method")
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_should_prevent_stubbing_non_existent_class_method
|
37
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
38
|
-
klass = Class.new
|
39
|
-
test_result = run_as_test do
|
40
|
-
klass.stubs(:non_existent_method)
|
41
|
-
end
|
42
|
-
assert_failed(test_result)
|
43
|
-
assert test_result.error_messages.include?("Mocha::StubbingError: stubbing non-existent method: #{klass.mocha_inspect}.non_existent_method")
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_should_default_to_allow_stubbing_non_existent_class_method
|
47
|
-
klass = Class.new
|
48
|
-
test_result = run_as_test do
|
49
|
-
klass.stubs(:non_existent_method)
|
50
|
-
end
|
51
|
-
assert !@logger.warnings.include?("stubbing non-existent method: #{klass.mocha_inspect}.non_existent_method")
|
52
|
-
assert_passed(test_result)
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_should_allow_stubbing_existing_public_class_method
|
56
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
57
|
-
klass = Class.new do
|
58
|
-
class << self
|
59
|
-
def existing_public_method; end
|
60
|
-
public :existing_public_method
|
61
|
-
end
|
62
|
-
end
|
63
|
-
test_result = run_as_test do
|
64
|
-
klass.stubs(:existing_public_method)
|
65
|
-
end
|
66
|
-
assert_passed(test_result)
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_should_allow_stubbing_method_to_which_class_responds
|
70
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
71
|
-
klass = Class.new do
|
72
|
-
class << self
|
73
|
-
def respond_to?(method, include_private = false)
|
74
|
-
(method == :method_to_which_class_responds)
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
test_result = run_as_test do
|
79
|
-
klass.stubs(:method_to_which_class_responds)
|
80
|
-
end
|
81
|
-
assert_passed(test_result)
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_should_allow_stubbing_existing_protected_class_method
|
85
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
86
|
-
klass = Class.new do
|
87
|
-
class << self
|
88
|
-
def existing_protected_method; end
|
89
|
-
protected :existing_protected_method
|
90
|
-
end
|
91
|
-
end
|
92
|
-
test_result = run_as_test do
|
93
|
-
klass.stubs(:existing_protected_method)
|
94
|
-
end
|
95
|
-
assert_passed(test_result)
|
96
|
-
end
|
97
|
-
|
98
|
-
def test_should_allow_stubbing_existing_private_class_method
|
99
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
100
|
-
klass = Class.new do
|
101
|
-
class << self
|
102
|
-
def existing_private_method; end
|
103
|
-
private :existing_private_method
|
104
|
-
end
|
105
|
-
end
|
106
|
-
test_result = run_as_test do
|
107
|
-
klass.stubs(:existing_private_method)
|
108
|
-
end
|
109
|
-
assert_passed(test_result)
|
110
|
-
end
|
111
|
-
|
112
|
-
def test_should_allow_stubbing_existing_public_superclass_method
|
113
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
114
|
-
superklass = Class.new do
|
115
|
-
class << self
|
116
|
-
def existing_public_method; end
|
117
|
-
public :existing_public_method
|
118
|
-
end
|
119
|
-
end
|
120
|
-
klass = Class.new(superklass)
|
121
|
-
test_result = run_as_test do
|
122
|
-
klass.stubs(:existing_public_method)
|
123
|
-
end
|
124
|
-
assert_passed(test_result)
|
125
|
-
end
|
126
|
-
|
127
|
-
def test_should_allow_stubbing_existing_protected_superclass_method
|
128
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
129
|
-
superklass = Class.new do
|
130
|
-
class << self
|
131
|
-
def existing_protected_method; end
|
132
|
-
protected :existing_protected_method
|
133
|
-
end
|
134
|
-
end
|
135
|
-
klass = Class.new(superklass)
|
136
|
-
test_result = run_as_test do
|
137
|
-
klass.stubs(:existing_protected_method)
|
138
|
-
end
|
139
|
-
assert_passed(test_result)
|
140
|
-
end
|
141
|
-
|
142
|
-
def test_should_allow_stubbing_existing_private_superclass_method
|
143
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
144
|
-
superklass = Class.new do
|
145
|
-
class << self
|
146
|
-
def existing_private_method; end
|
147
|
-
protected :existing_private_method
|
148
|
-
end
|
149
|
-
end
|
150
|
-
klass = Class.new(superklass)
|
151
|
-
test_result = run_as_test do
|
152
|
-
klass.stubs(:existing_private_method)
|
153
|
-
end
|
154
|
-
assert_passed(test_result)
|
155
|
-
end
|
156
|
-
|
157
|
-
end
|
@@ -1,147 +0,0 @@
|
|
1
|
-
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
|
-
require 'mocha/setup'
|
3
|
-
|
4
|
-
class StubbingNonExistentInstanceMethodTest < 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
|
-
def test_should_allow_stubbing_non_existent_instance_method
|
17
|
-
Mocha::Configuration.allow(:stubbing_non_existent_method)
|
18
|
-
instance = Class.new.new
|
19
|
-
test_result = run_as_test do
|
20
|
-
instance.stubs(:non_existent_method)
|
21
|
-
end
|
22
|
-
assert !@logger.warnings.include?("stubbing non-existent method: #{instance.mocha_inspect}.non_existent_method")
|
23
|
-
assert_passed(test_result)
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_should_warn_when_stubbing_non_existent_instance_method
|
27
|
-
Mocha::Configuration.warn_when(:stubbing_non_existent_method)
|
28
|
-
instance = Class.new.new
|
29
|
-
test_result = run_as_test do
|
30
|
-
instance.stubs(:non_existent_method)
|
31
|
-
end
|
32
|
-
assert_passed(test_result)
|
33
|
-
assert @logger.warnings.include?("stubbing non-existent method: #{instance.mocha_inspect}.non_existent_method")
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_should_prevent_stubbing_non_existent_instance_method
|
37
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
38
|
-
instance = Class.new.new
|
39
|
-
test_result = run_as_test do
|
40
|
-
instance.stubs(:non_existent_method)
|
41
|
-
end
|
42
|
-
assert_failed(test_result)
|
43
|
-
assert test_result.error_messages.include?("Mocha::StubbingError: stubbing non-existent method: #{instance.mocha_inspect}.non_existent_method")
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_should_default_to_allow_stubbing_non_existent_instance_method
|
47
|
-
instance = Class.new.new
|
48
|
-
test_result = run_as_test do
|
49
|
-
instance.stubs(:non_existent_method)
|
50
|
-
end
|
51
|
-
assert !@logger.warnings.include?("stubbing non-existent method: #{instance.mocha_inspect}.non_existent_method")
|
52
|
-
assert_passed(test_result)
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_should_allow_stubbing_existing_public_instance_method
|
56
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
57
|
-
klass = Class.new do
|
58
|
-
def existing_public_method; end
|
59
|
-
public :existing_public_method
|
60
|
-
end
|
61
|
-
instance = klass.new
|
62
|
-
test_result = run_as_test do
|
63
|
-
instance.stubs(:existing_public_method)
|
64
|
-
end
|
65
|
-
assert_passed(test_result)
|
66
|
-
end
|
67
|
-
|
68
|
-
def test_should_allow_stubbing_method_to_which_instance_responds
|
69
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
70
|
-
klass = Class.new do
|
71
|
-
def respond_to?(method, include_private = false)
|
72
|
-
(method == :method_to_which_instance_responds)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
instance = klass.new
|
76
|
-
test_result = run_as_test do
|
77
|
-
instance.stubs(:method_to_which_instance_responds)
|
78
|
-
end
|
79
|
-
assert_passed(test_result)
|
80
|
-
end
|
81
|
-
|
82
|
-
def test_should_allow_stubbing_existing_protected_instance_method
|
83
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
84
|
-
klass = Class.new do
|
85
|
-
def existing_protected_method; end
|
86
|
-
protected :existing_protected_method
|
87
|
-
end
|
88
|
-
instance = klass.new
|
89
|
-
test_result = run_as_test do
|
90
|
-
instance.stubs(:existing_protected_method)
|
91
|
-
end
|
92
|
-
assert_passed(test_result)
|
93
|
-
end
|
94
|
-
|
95
|
-
def test_should_allow_stubbing_existing_private_instance_method
|
96
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
97
|
-
klass = Class.new do
|
98
|
-
def existing_private_method; end
|
99
|
-
private :existing_private_method
|
100
|
-
end
|
101
|
-
instance = klass.new
|
102
|
-
test_result = run_as_test do
|
103
|
-
instance.stubs(:existing_private_method)
|
104
|
-
end
|
105
|
-
assert_passed(test_result)
|
106
|
-
end
|
107
|
-
|
108
|
-
def test_should_allow_stubbing_existing_public_instance_superclass_method
|
109
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
110
|
-
superklass = Class.new do
|
111
|
-
def existing_public_method; end
|
112
|
-
public :existing_public_method
|
113
|
-
end
|
114
|
-
instance = Class.new(superklass).new
|
115
|
-
test_result = run_as_test do
|
116
|
-
instance.stubs(:existing_public_method)
|
117
|
-
end
|
118
|
-
assert_passed(test_result)
|
119
|
-
end
|
120
|
-
|
121
|
-
def test_should_allow_stubbing_existing_protected_instance_superclass_method
|
122
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
123
|
-
superklass = Class.new do
|
124
|
-
def existing_protected_method; end
|
125
|
-
protected :existing_protected_method
|
126
|
-
end
|
127
|
-
instance = Class.new(superklass).new
|
128
|
-
test_result = run_as_test do
|
129
|
-
instance.stubs(:existing_protected_method)
|
130
|
-
end
|
131
|
-
assert_passed(test_result)
|
132
|
-
end
|
133
|
-
|
134
|
-
def test_should_allow_stubbing_existing_private_instance_superclass_method
|
135
|
-
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
136
|
-
superklass = Class.new do
|
137
|
-
def existing_private_method; end
|
138
|
-
private :existing_private_method
|
139
|
-
end
|
140
|
-
instance = Class.new(superklass).new
|
141
|
-
test_result = run_as_test do
|
142
|
-
instance.stubs(:existing_private_method)
|
143
|
-
end
|
144
|
-
assert_passed(test_result)
|
145
|
-
end
|
146
|
-
|
147
|
-
end
|