mocha 1.6.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/RELEASE.md +7 -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 +7 -15
- data/lib/mocha/change_state_side_effect.rb +0 -4
- data/lib/mocha/class_method.rb +31 -37
- data/lib/mocha/class_methods.rb +5 -13
- data/lib/mocha/configuration.rb +3 -9
- 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 +0 -4
- 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 +0 -1
- 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.rb +3 -4
- 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 +3 -1
- data/lib/mocha/integration/mini_test/version_140.rb +3 -1
- data/lib/mocha/integration/mini_test/version_141.rb +3 -1
- data/lib/mocha/integration/mini_test/version_142_to_172.rb +3 -1
- data/lib/mocha/integration/mini_test/version_200.rb +3 -1
- data/lib/mocha/integration/mini_test/version_201_to_222.rb +3 -1
- data/lib/mocha/integration/mini_test/version_2110_to_2111.rb +3 -1
- data/lib/mocha/integration/mini_test/version_2112_to_320.rb +3 -1
- data/lib/mocha/integration/mini_test/version_230_to_2101.rb +3 -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 +4 -2
- data/lib/mocha/integration/test_unit/gem_version_201_to_202.rb +4 -2
- data/lib/mocha/integration/test_unit/gem_version_203_to_220.rb +4 -2
- data/lib/mocha/integration/test_unit/gem_version_230_to_250.rb +4 -2
- data/lib/mocha/integration/test_unit/nothing.rb +4 -4
- data/lib/mocha/integration/test_unit/ruby_version_185_and_below.rb +3 -1
- data/lib/mocha/integration/test_unit/ruby_version_186_and_above.rb +3 -1
- 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 +27 -43
- data/lib/mocha/module_method.rb +0 -2
- 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 +0 -2
- data/lib/mocha/object_methods.rb +10 -14
- data/lib/mocha/parameter_matchers.rb +0 -2
- 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/parameters_matcher.rb +6 -9
- data/lib/mocha/pretty_parameters.rb +0 -4
- data/lib/mocha/receivers.rb +6 -12
- 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 +0 -2
- 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 -4
- 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 +0 -2
- 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 +5 -4
- 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 +7 -4
- 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 +0 -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 +9 -11
- 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 +9 -4
- 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 +28 -26
- 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 +6 -8
- 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 +8 -6
- 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 +22 -6
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class StubbingMethodUnnecessarilyTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -61,5 +60,4 @@ class StubbingMethodUnnecessarilyTest < Mocha::TestCase
|
|
61
60
|
end
|
62
61
|
assert_passed(test_result)
|
63
62
|
end
|
64
|
-
|
65
63
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class StubbingNilTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -20,7 +19,7 @@ class StubbingNilTest < Mocha::TestCase
|
|
20
19
|
nil.stubs(:stubbed_method)
|
21
20
|
end
|
22
21
|
assert_passed(test_result)
|
23
|
-
assert !@logger.warnings.include?(
|
22
|
+
assert !@logger.warnings.include?('stubbing method on nil: nil.stubbed_method')
|
24
23
|
end
|
25
24
|
|
26
25
|
def test_should_warn_on_stubbing_method_on_nil
|
@@ -29,7 +28,7 @@ class StubbingNilTest < Mocha::TestCase
|
|
29
28
|
nil.stubs(:stubbed_method)
|
30
29
|
end
|
31
30
|
assert_passed(test_result)
|
32
|
-
assert @logger.warnings.include?(
|
31
|
+
assert @logger.warnings.include?('stubbing method on nil: nil.stubbed_method')
|
33
32
|
end
|
34
33
|
|
35
34
|
def test_should_prevent_stubbing_method_on_nil
|
@@ -38,7 +37,7 @@ class StubbingNilTest < Mocha::TestCase
|
|
38
37
|
nil.stubs(:stubbed_method)
|
39
38
|
end
|
40
39
|
assert_failed(test_result)
|
41
|
-
assert test_result.error_messages.include?(
|
40
|
+
assert test_result.error_messages.include?('Mocha::StubbingError: stubbing method on nil: nil.stubbed_method')
|
42
41
|
end
|
43
42
|
|
44
43
|
def test_should_default_to_prevent_stubbing_method_on_non_mock_object
|
@@ -46,7 +45,7 @@ class StubbingNilTest < Mocha::TestCase
|
|
46
45
|
nil.stubs(:stubbed_method)
|
47
46
|
end
|
48
47
|
assert_failed(test_result)
|
49
|
-
assert test_result.error_messages.include?(
|
48
|
+
assert test_result.error_messages.include?('Mocha::StubbingError: stubbing method on nil: nil.stubbed_method')
|
50
49
|
end
|
51
50
|
|
52
51
|
def test_should_allow_stubbing_method_on_non_nil_object
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class StubbingNonExistentAnyInstanceMethodTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -67,7 +66,7 @@ class StubbingNonExistentAnyInstanceMethodTest < Mocha::TestCase
|
|
67
66
|
def test_should_allow_stubbing_method_to_which_any_instance_responds
|
68
67
|
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
69
68
|
klass = Class.new do
|
70
|
-
def respond_to?(method,
|
69
|
+
def respond_to?(method, _include_private = false)
|
71
70
|
(method == :method_to_which_instance_responds)
|
72
71
|
end
|
73
72
|
end
|
@@ -139,5 +138,4 @@ class StubbingNonExistentAnyInstanceMethodTest < Mocha::TestCase
|
|
139
138
|
end
|
140
139
|
assert_passed(test_result)
|
141
140
|
end
|
142
|
-
|
143
141
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class StubbingNonExistentClassMethodTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -52,6 +51,7 @@ class StubbingNonExistentClassMethodTest < Mocha::TestCase
|
|
52
51
|
assert_passed(test_result)
|
53
52
|
end
|
54
53
|
|
54
|
+
# rubocop:disable Lint/DuplicateMethods
|
55
55
|
def test_should_allow_stubbing_existing_public_class_method
|
56
56
|
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
57
57
|
klass = Class.new do
|
@@ -70,7 +70,7 @@ class StubbingNonExistentClassMethodTest < Mocha::TestCase
|
|
70
70
|
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
71
71
|
klass = Class.new do
|
72
72
|
class << self
|
73
|
-
def respond_to?(method,
|
73
|
+
def respond_to?(method, _include_private = false)
|
74
74
|
(method == :method_to_which_class_responds)
|
75
75
|
end
|
76
76
|
end
|
@@ -153,5 +153,5 @@ class StubbingNonExistentClassMethodTest < Mocha::TestCase
|
|
153
153
|
end
|
154
154
|
assert_passed(test_result)
|
155
155
|
end
|
156
|
-
|
156
|
+
# rubocop:enable Lint/DuplicateMethods
|
157
157
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class StubbingNonExistentInstanceMethodTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -68,7 +67,7 @@ class StubbingNonExistentInstanceMethodTest < Mocha::TestCase
|
|
68
67
|
def test_should_allow_stubbing_method_to_which_instance_responds
|
69
68
|
Mocha::Configuration.prevent(:stubbing_non_existent_method)
|
70
69
|
klass = Class.new do
|
71
|
-
def respond_to?(method,
|
70
|
+
def respond_to?(method, _include_private = false)
|
72
71
|
(method == :method_to_which_instance_responds)
|
73
72
|
end
|
74
73
|
end
|
@@ -143,5 +142,4 @@ class StubbingNonExistentInstanceMethodTest < Mocha::TestCase
|
|
143
142
|
end
|
144
143
|
assert_passed(test_result)
|
145
144
|
end
|
146
|
-
|
147
145
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class StubbingNonPublicAnyInstanceMethodTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -126,5 +125,4 @@ class StubbingNonPublicAnyInstanceMethodTest < Mocha::TestCase
|
|
126
125
|
end
|
127
126
|
assert_passed(test_result)
|
128
127
|
end
|
129
|
-
|
130
128
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class StubbingNonPublicClassMethodTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -13,6 +12,7 @@ class StubbingNonPublicClassMethodTest < Mocha::TestCase
|
|
13
12
|
teardown_acceptance_test
|
14
13
|
end
|
15
14
|
|
15
|
+
# rubocop:disable Lint/DuplicateMethods
|
16
16
|
def test_should_allow_stubbing_private_class_method
|
17
17
|
Mocha::Configuration.allow(:stubbing_non_public_method)
|
18
18
|
klass = Class.new do
|
@@ -144,12 +144,13 @@ class StubbingNonPublicClassMethodTest < Mocha::TestCase
|
|
144
144
|
end
|
145
145
|
assert_passed(test_result)
|
146
146
|
end
|
147
|
+
# rubocop:enable Lint/DuplicateMethods
|
147
148
|
|
148
149
|
def test_should_allow_stubbing_method_to_which_class_responds
|
149
150
|
Mocha::Configuration.prevent(:stubbing_non_public_method)
|
150
151
|
klass = Class.new do
|
151
152
|
class << self
|
152
|
-
def respond_to?(method,
|
153
|
+
def respond_to?(method, _include_private_methods = false)
|
153
154
|
(method == :method_to_which_class_responds)
|
154
155
|
end
|
155
156
|
end
|
@@ -159,5 +160,4 @@ class StubbingNonPublicClassMethodTest < Mocha::TestCase
|
|
159
160
|
end
|
160
161
|
assert_passed(test_result)
|
161
162
|
end
|
162
|
-
|
163
163
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class StubbingNonPublicInstanceMethodTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -130,7 +129,7 @@ class StubbingNonPublicInstanceMethodTest < Mocha::TestCase
|
|
130
129
|
def test_should_allow_stubbing_method_to_which_instance_responds
|
131
130
|
Mocha::Configuration.prevent(:stubbing_non_public_method)
|
132
131
|
instance = Class.new do
|
133
|
-
def respond_to?(method,
|
132
|
+
def respond_to?(method, _include_private_methods = false)
|
134
133
|
(method == :method_to_which_instance_responds)
|
135
134
|
end
|
136
135
|
end.new
|
@@ -139,5 +138,4 @@ class StubbingNonPublicInstanceMethodTest < Mocha::TestCase
|
|
139
138
|
end
|
140
139
|
assert_passed(test_result)
|
141
140
|
end
|
142
|
-
|
143
141
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class StubbingOnNonMockObjectTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -16,8 +15,7 @@ class StubbingOnNonMockObjectTest < Mocha::TestCase
|
|
16
15
|
def test_should_allow_stubbing_method_on_non_mock_object
|
17
16
|
Mocha::Configuration.allow(:stubbing_method_on_non_mock_object)
|
18
17
|
non_mock_object = Class.new do
|
19
|
-
def existing_method
|
20
|
-
end
|
18
|
+
def existing_method; end
|
21
19
|
end
|
22
20
|
test_result = run_as_test do
|
23
21
|
non_mock_object.stubs(:existing_method)
|
@@ -29,8 +27,7 @@ class StubbingOnNonMockObjectTest < Mocha::TestCase
|
|
29
27
|
def test_should_warn_on_stubbing_method_on_non_mock_object
|
30
28
|
Mocha::Configuration.warn_when(:stubbing_method_on_non_mock_object)
|
31
29
|
non_mock_object = Class.new do
|
32
|
-
def existing_method
|
33
|
-
end
|
30
|
+
def existing_method; end
|
34
31
|
end
|
35
32
|
test_result = run_as_test do
|
36
33
|
non_mock_object.stubs(:existing_method)
|
@@ -42,8 +39,7 @@ class StubbingOnNonMockObjectTest < Mocha::TestCase
|
|
42
39
|
def test_should_prevent_stubbing_method_on_non_mock_object
|
43
40
|
Mocha::Configuration.prevent(:stubbing_method_on_non_mock_object)
|
44
41
|
non_mock_object = Class.new do
|
45
|
-
def existing_method
|
46
|
-
end
|
42
|
+
def existing_method; end
|
47
43
|
end
|
48
44
|
test_result = run_as_test do
|
49
45
|
non_mock_object.stubs(:existing_method)
|
@@ -54,8 +50,7 @@ class StubbingOnNonMockObjectTest < Mocha::TestCase
|
|
54
50
|
|
55
51
|
def test_should_default_to_allow_stubbing_method_on_non_mock_object
|
56
52
|
non_mock_object = Class.new do
|
57
|
-
def existing_method
|
58
|
-
end
|
53
|
+
def existing_method; end
|
59
54
|
end
|
60
55
|
test_result = run_as_test do
|
61
56
|
non_mock_object.stubs(:existing_method)
|
@@ -72,5 +67,4 @@ class StubbingOnNonMockObjectTest < Mocha::TestCase
|
|
72
67
|
end
|
73
68
|
assert_passed(test_result)
|
74
69
|
end
|
75
|
-
|
76
70
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class StubbingSameClassMethodOnParentAndChildClassTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -16,14 +15,14 @@ class StubbingSameClassMethodOnParentAndChildClassTest < Mocha::TestCase
|
|
16
15
|
def test_stubbing_same_method_on_parent_and_child_classes
|
17
16
|
parent_class = Class.new do
|
18
17
|
def self.foo
|
19
|
-
|
18
|
+
'Parent.foo'
|
20
19
|
end
|
21
20
|
end
|
22
21
|
child_class = Class.new(parent_class)
|
23
22
|
test_result = run_as_tests(
|
24
23
|
:test_1 => lambda {
|
25
|
-
parent_class.stubs(:foo).returns(
|
26
|
-
child_class.stubs(:foo).returns(
|
24
|
+
parent_class.stubs(:foo).returns('stubbed Parent.foo')
|
25
|
+
child_class.stubs(:foo).returns('stubbed Child.foo')
|
27
26
|
},
|
28
27
|
:test_2 => lambda {
|
29
28
|
parent_class.foo
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class ThrowTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -41,5 +40,4 @@ class ThrowTest < Mocha::TestCase
|
|
41
40
|
end
|
42
41
|
assert_passed(test_result)
|
43
42
|
end
|
44
|
-
|
45
43
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class UnexpectedInvocationTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -20,6 +19,6 @@ class UnexpectedInvocationTest < Mocha::TestCase
|
|
20
19
|
instance.inspect(1, 2, 'foo')
|
21
20
|
end
|
22
21
|
assert_failed(test_result)
|
23
|
-
assert_equal
|
22
|
+
assert_equal 'unexpected invocation: inspect(1, 2, foo)', test_result.failure_message_lines[0]
|
24
23
|
end
|
25
|
-
end
|
24
|
+
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class UnstubbingTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -15,7 +14,9 @@ class UnstubbingTest < Mocha::TestCase
|
|
15
14
|
|
16
15
|
def test_unstubbing_an_instance_method_should_restore_original_behaviour
|
17
16
|
klass = Class.new do
|
18
|
-
def my_instance_method
|
17
|
+
def my_instance_method
|
18
|
+
:original_return_value
|
19
|
+
end
|
19
20
|
end
|
20
21
|
test_result = run_as_test do
|
21
22
|
object = klass.new
|
@@ -28,7 +29,9 @@ class UnstubbingTest < Mocha::TestCase
|
|
28
29
|
|
29
30
|
def test_unstubbing_a_class_method_should_restore_original_behaviour
|
30
31
|
klass = Class.new do
|
31
|
-
def self.my_class_method
|
32
|
+
def self.my_class_method
|
33
|
+
:original_return_value
|
34
|
+
end
|
32
35
|
end
|
33
36
|
test_result = run_as_test do
|
34
37
|
klass.stubs(:my_class_method).returns(:new_return_value)
|
@@ -40,7 +43,9 @@ class UnstubbingTest < Mocha::TestCase
|
|
40
43
|
|
41
44
|
def test_unstubbing_a_module_method_should_restore_original_behaviour
|
42
45
|
mod = Module.new do
|
43
|
-
def self.my_module_method
|
46
|
+
def self.my_module_method
|
47
|
+
:original_return_value
|
48
|
+
end
|
44
49
|
end
|
45
50
|
test_result = run_as_test do
|
46
51
|
mod.stubs(:my_module_method).returns(:new_return_value)
|
@@ -52,7 +57,9 @@ class UnstubbingTest < Mocha::TestCase
|
|
52
57
|
|
53
58
|
def test_unstubbing_a_module_method_defined_like_fileutils_in_ruby_2_0_should_restore_original_behaviour
|
54
59
|
mod = Module.new do
|
55
|
-
def my_module_method
|
60
|
+
def my_module_method
|
61
|
+
:original_return_value
|
62
|
+
end
|
56
63
|
private :my_module_method
|
57
64
|
extend self
|
58
65
|
class << self
|
@@ -69,7 +76,9 @@ class UnstubbingTest < Mocha::TestCase
|
|
69
76
|
|
70
77
|
def test_unstubbing_an_any_instance_method_should_restore_original_behaviour
|
71
78
|
klass = Class.new do
|
72
|
-
def my_instance_method
|
79
|
+
def my_instance_method
|
80
|
+
:original_return_value
|
81
|
+
end
|
73
82
|
end
|
74
83
|
test_result = run_as_test do
|
75
84
|
object = klass.new
|
@@ -82,8 +91,13 @@ class UnstubbingTest < Mocha::TestCase
|
|
82
91
|
|
83
92
|
def test_unstubbing_multiple_methods_should_restore_original_behaviour
|
84
93
|
klass = Class.new do
|
85
|
-
def my_first_instance_method
|
86
|
-
|
94
|
+
def my_first_instance_method
|
95
|
+
:original_return_value
|
96
|
+
end
|
97
|
+
|
98
|
+
def my_second_instance_method
|
99
|
+
:original_return_value
|
100
|
+
end
|
87
101
|
end
|
88
102
|
test_result = run_as_test do
|
89
103
|
object = klass.new
|
@@ -98,7 +112,9 @@ class UnstubbingTest < Mocha::TestCase
|
|
98
112
|
|
99
113
|
def test_unstubbing_a_method_multiple_times_should_restore_original_behaviour
|
100
114
|
klass = Class.new do
|
101
|
-
def my_instance_method
|
115
|
+
def my_instance_method
|
116
|
+
:original_return_value
|
117
|
+
end
|
102
118
|
end
|
103
119
|
test_result = run_as_test do
|
104
120
|
object = klass.new
|
@@ -112,7 +128,9 @@ class UnstubbingTest < Mocha::TestCase
|
|
112
128
|
|
113
129
|
def test_unstubbing_a_non_stubbed_method_should_do_nothing
|
114
130
|
klass = Class.new do
|
115
|
-
def my_instance_method
|
131
|
+
def my_instance_method
|
132
|
+
:original_return_value
|
133
|
+
end
|
116
134
|
end
|
117
135
|
test_result = run_as_test do
|
118
136
|
object = klass.new
|
@@ -124,7 +142,9 @@ class UnstubbingTest < Mocha::TestCase
|
|
124
142
|
|
125
143
|
def test_unstubbing_a_method_which_was_stubbed_multiple_times_should_restore_orginal_behaviour
|
126
144
|
klass = Class.new do
|
127
|
-
def my_instance_method
|
145
|
+
def my_instance_method
|
146
|
+
:original_return_value
|
147
|
+
end
|
128
148
|
end
|
129
149
|
test_result = run_as_test do
|
130
150
|
object = klass.new
|
@@ -138,8 +158,13 @@ class UnstubbingTest < Mocha::TestCase
|
|
138
158
|
|
139
159
|
def test_unstubbing_a_method_should_not_unstub_other_stubbed_methods
|
140
160
|
klass = Class.new do
|
141
|
-
def my_first_instance_method
|
142
|
-
|
161
|
+
def my_first_instance_method
|
162
|
+
:first_return_value
|
163
|
+
end
|
164
|
+
|
165
|
+
def my_second_instance_method
|
166
|
+
:second_return_value
|
167
|
+
end
|
143
168
|
end
|
144
169
|
|
145
170
|
test_result = run_as_test do
|
@@ -155,7 +180,9 @@ class UnstubbingTest < Mocha::TestCase
|
|
155
180
|
|
156
181
|
def test_unstubbing_a_method_should_remove_all_expectations_for_that_method
|
157
182
|
klass = Class.new do
|
158
|
-
def my_instance_method
|
183
|
+
def my_instance_method
|
184
|
+
:original_return_value
|
185
|
+
end
|
159
186
|
end
|
160
187
|
test_result = run_as_test do
|
161
188
|
object = klass.new
|