mocha 1.10.0 → 1.11.2
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 +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.yardopts +1 -0
- data/RELEASE.md +49 -0
- data/Rakefile +1 -4
- data/docs/Mocha.html +2 -2
- data/docs/Mocha/API.html +167 -35
- data/docs/Mocha/ClassMethods.html +2 -2
- data/docs/Mocha/Configuration.html +197 -55
- data/docs/Mocha/Expectation.html +284 -76
- data/docs/Mocha/ExpectationError.html +2 -2
- data/docs/Mocha/ExpectationErrorFactory.html +2 -2
- data/docs/Mocha/Hooks.html +2 -2
- data/docs/Mocha/Integration.html +2 -2
- data/docs/Mocha/Integration/MiniTest.html +2 -2
- data/docs/Mocha/Integration/MiniTest/Adapter.html +2 -2
- data/docs/Mocha/Integration/TestUnit.html +2 -2
- data/docs/Mocha/Integration/TestUnit/Adapter.html +2 -2
- data/docs/Mocha/Mock.html +14 -41
- data/docs/Mocha/ObjectMethods.html +2 -2
- data/docs/Mocha/ParameterMatchers.html +14 -26
- data/docs/Mocha/ParameterMatchers/AllOf.html +2 -2
- data/docs/Mocha/ParameterMatchers/AnyOf.html +2 -2
- data/docs/Mocha/ParameterMatchers/AnyParameters.html +2 -2
- data/docs/Mocha/ParameterMatchers/Anything.html +2 -2
- data/docs/Mocha/ParameterMatchers/Base.html +2 -2
- data/docs/Mocha/ParameterMatchers/Equals.html +2 -2
- data/docs/Mocha/ParameterMatchers/EquivalentUri.html +2 -2
- data/docs/Mocha/ParameterMatchers/HasEntries.html +2 -2
- data/docs/Mocha/ParameterMatchers/HasEntry.html +2 -2
- data/docs/Mocha/ParameterMatchers/HasKey.html +2 -2
- data/docs/Mocha/ParameterMatchers/HasValue.html +2 -2
- data/docs/Mocha/ParameterMatchers/Includes.html +2 -2
- data/docs/Mocha/ParameterMatchers/InstanceOf.html +2 -2
- data/docs/Mocha/ParameterMatchers/IsA.html +2 -2
- data/docs/Mocha/ParameterMatchers/KindOf.html +2 -2
- data/docs/Mocha/ParameterMatchers/Not.html +2 -2
- data/docs/Mocha/ParameterMatchers/Optionally.html +2 -2
- data/docs/Mocha/ParameterMatchers/RegexpMatches.html +2 -2
- data/docs/Mocha/ParameterMatchers/RespondsWith.html +2 -2
- data/docs/Mocha/ParameterMatchers/YamlEquivalent.html +2 -2
- data/docs/Mocha/Sequence.html +2 -2
- data/docs/Mocha/StateMachine.html +5 -5
- data/docs/Mocha/StateMachine/State.html +2 -2
- data/docs/Mocha/StateMachine/StatePredicate.html +2 -2
- data/docs/Mocha/StubbingError.html +2 -2
- data/docs/_index.html +3 -3
- data/docs/file.COPYING.html +2 -2
- data/docs/file.MIT-LICENSE.html +2 -2
- data/docs/file.README.html +2 -2
- data/docs/file.RELEASE.html +74 -2
- data/docs/frames.html +1 -1
- data/docs/index.html +2 -2
- data/docs/method_list.html +51 -27
- data/docs/top-level-namespace.html +2 -2
- data/lib/mocha/api.rb +83 -19
- data/lib/mocha/block_matcher.rb +31 -0
- data/lib/mocha/configuration.rb +57 -1
- data/lib/mocha/deprecation.rb +2 -1
- data/lib/mocha/expectation.rb +48 -7
- data/lib/mocha/invocation.rb +20 -4
- data/lib/mocha/mock.rb +42 -16
- data/lib/mocha/mockery.rb +14 -14
- data/lib/mocha/parameter_matchers/has_entries.rb +2 -3
- data/lib/mocha/parameter_matchers/has_entry.rb +2 -3
- data/lib/mocha/parameter_matchers/has_key.rb +2 -3
- data/lib/mocha/parameter_matchers/has_value.rb +2 -3
- data/lib/mocha/parameter_matchers/is_a.rb +2 -3
- data/lib/mocha/parameter_matchers/not.rb +2 -3
- data/lib/mocha/state_machine.rb +2 -3
- data/lib/mocha/stubbed_method.rb +4 -6
- data/lib/mocha/version.rb +1 -1
- data/lib/mocha/yield_parameters.rb +5 -11
- data/test/acceptance/acceptance_test_helper.rb +1 -0
- data/test/acceptance/display_matching_invocations_alongside_expectations_test.rb +5 -5
- data/test/acceptance/failure_messages_test.rb +16 -0
- data/test/acceptance/issue_457_test.rb +31 -0
- data/test/acceptance/mocha_example_test.rb +11 -1
- data/test/acceptance/mock_built_with_first_argument_type_being_string_test.rb +98 -0
- data/test/acceptance/mock_test.rb +64 -12
- data/test/acceptance/multiple_yielding_test.rb +59 -0
- data/test/acceptance/stubba_example_test.rb +11 -1
- data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +16 -0
- data/test/acceptance/yielding_test.rb +80 -0
- data/test/unit/expectation_test.rb +30 -3
- data/test/unit/yield_parameters_test.rb +35 -53
- metadata +8 -9
- data/lib/mocha/multiple_yields.rb +0 -15
- data/lib/mocha/no_yields.rb +0 -5
- data/lib/mocha/pretty_parameters.rb +0 -24
- data/lib/mocha/single_yield.rb +0 -13
- data/test/unit/multiple_yields_test.rb +0 -16
- data/test/unit/no_yields_test.rb +0 -16
- data/test/unit/single_yield_test.rb +0 -16
@@ -0,0 +1,59 @@
|
|
1
|
+
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
|
+
require 'mocha/configuration'
|
3
|
+
|
4
|
+
class MultipleYieldingTest < Mocha::TestCase
|
5
|
+
include AcceptanceTest
|
6
|
+
|
7
|
+
def setup
|
8
|
+
setup_acceptance_test
|
9
|
+
end
|
10
|
+
|
11
|
+
def teardown
|
12
|
+
teardown_acceptance_test
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_yields_values_multiple_times_when_stubbed_method_is_invoked
|
16
|
+
test_result = run_as_test do
|
17
|
+
m = mock('m')
|
18
|
+
m.stubs(:foo).multiple_yields([1], [2, 3])
|
19
|
+
yielded = []
|
20
|
+
m.foo { |*args| yielded << args }
|
21
|
+
assert_equal [[1], [2, 3]], yielded
|
22
|
+
end
|
23
|
+
assert_passed(test_result)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_yields_values_multiple_times_when_multiple_yields_arguments_are_not_arrays
|
27
|
+
test_result = run_as_test do
|
28
|
+
m = mock('m')
|
29
|
+
m.stubs(:foo).multiple_yields(1, { :b => 2 }, '3')
|
30
|
+
yielded = []
|
31
|
+
m.foo { |*args| yielded << args }
|
32
|
+
assert_equal [[1], [{ :b => 2 }], ['3']], yielded
|
33
|
+
end
|
34
|
+
assert_passed(test_result)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_raises_local_jump_error_if_instructed_to_multiple_yield_but_no_block_given
|
38
|
+
test_result = run_as_test do
|
39
|
+
Mocha::Configuration.override(:reinstate_undocumented_behaviour_from_v1_9 => false) do
|
40
|
+
m = mock('m')
|
41
|
+
m.stubs(:foo).multiple_yields([])
|
42
|
+
assert_raises(LocalJumpError) { m.foo }
|
43
|
+
end
|
44
|
+
end
|
45
|
+
assert_passed(test_result)
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_yields_different_values_on_consecutive_invocations
|
49
|
+
test_result = run_as_test do
|
50
|
+
m = mock('m')
|
51
|
+
m.stubs(:foo).multiple_yields([0], [1, 2]).then.multiple_yields([3], [4, 5])
|
52
|
+
yielded = []
|
53
|
+
m.foo { |*args| yielded << args }
|
54
|
+
m.foo { |*args| yielded << args }
|
55
|
+
assert_equal [[0], [1, 2], [3], [4, 5]], yielded
|
56
|
+
end
|
57
|
+
assert_passed(test_result)
|
58
|
+
end
|
59
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.expand_path('
|
1
|
+
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
2
|
|
3
3
|
class Widget
|
4
4
|
def model
|
@@ -23,6 +23,16 @@ module Thingy
|
|
23
23
|
end
|
24
24
|
|
25
25
|
class StubbaExampleTest < Mocha::TestCase
|
26
|
+
include AcceptanceTest
|
27
|
+
|
28
|
+
def setup
|
29
|
+
setup_acceptance_test
|
30
|
+
end
|
31
|
+
|
32
|
+
def teardown
|
33
|
+
teardown_acceptance_test
|
34
|
+
end
|
35
|
+
|
26
36
|
def test_should_stub_instance_method
|
27
37
|
widget = Widget.new
|
28
38
|
widget.expects(:model).returns('different_model')
|
@@ -76,6 +76,22 @@ class StubbingNonExistentAnyInstanceMethodTest < Mocha::TestCase
|
|
76
76
|
assert_passed(test_result)
|
77
77
|
end
|
78
78
|
|
79
|
+
def test_should_default_to_allowing_stubbing_method_if_responds_to_depends_on_calling_initialize
|
80
|
+
klass = Class.new do
|
81
|
+
def initialize(attrs = {})
|
82
|
+
@attributes = attrs
|
83
|
+
end
|
84
|
+
|
85
|
+
def respond_to?(method, _include_private = false)
|
86
|
+
@attributes.key?(method) ? @attributes[method] : super
|
87
|
+
end
|
88
|
+
end
|
89
|
+
test_result = run_as_test do
|
90
|
+
klass.any_instance.stubs(:foo)
|
91
|
+
end
|
92
|
+
assert_passed(test_result)
|
93
|
+
end
|
94
|
+
|
79
95
|
def test_should_allow_stubbing_existing_protected_any_instance_method
|
80
96
|
Mocha.configure { |c| c.stubbing_non_existent_method = :prevent }
|
81
97
|
klass = Class.new do
|
@@ -0,0 +1,80 @@
|
|
1
|
+
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
|
+
|
3
|
+
class YieldingTest < Mocha::TestCase
|
4
|
+
include AcceptanceTest
|
5
|
+
|
6
|
+
def setup
|
7
|
+
setup_acceptance_test
|
8
|
+
end
|
9
|
+
|
10
|
+
def teardown
|
11
|
+
teardown_acceptance_test
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_yields_when_stubbed_method_is_invoked
|
15
|
+
test_result = run_as_test do
|
16
|
+
m = mock('m')
|
17
|
+
m.stubs(:foo).yields
|
18
|
+
yielded = false
|
19
|
+
m.foo { yielded = true }
|
20
|
+
assert yielded
|
21
|
+
end
|
22
|
+
assert_passed(test_result)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_raises_local_jump_error_if_instructed_to_yield_but_no_block_given
|
26
|
+
test_result = run_as_test do
|
27
|
+
Mocha::Configuration.override(:reinstate_undocumented_behaviour_from_v1_9 => false) do
|
28
|
+
m = mock('m')
|
29
|
+
m.stubs(:foo).yields
|
30
|
+
assert_raises(LocalJumpError) { m.foo }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
assert_passed(test_result)
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_yields_when_block_expected_and_block_given
|
37
|
+
test_result = run_as_test do
|
38
|
+
m = mock('m')
|
39
|
+
m.stubs(:foo).with_block_given.yields
|
40
|
+
m.stubs(:foo).with_no_block_given.returns(:bar)
|
41
|
+
yielded = false
|
42
|
+
m.foo { yielded = true }
|
43
|
+
assert yielded
|
44
|
+
end
|
45
|
+
assert_passed(test_result)
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_returns_when_no_block_expected_and_no_block_given
|
49
|
+
test_result = run_as_test do
|
50
|
+
m = mock('m')
|
51
|
+
m.stubs(:foo).with_block_given.yields
|
52
|
+
m.stubs(:foo).with_no_block_given.returns(:bar)
|
53
|
+
assert_equal :bar, m.foo
|
54
|
+
end
|
55
|
+
assert_passed(test_result)
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_yields_values_when_stubbed_method_is_invoked
|
59
|
+
test_result = run_as_test do
|
60
|
+
m = mock('m')
|
61
|
+
m.stubs(:foo).yields(0, 1)
|
62
|
+
yielded = []
|
63
|
+
m.foo { |*args| yielded << args }
|
64
|
+
assert_equal [[0, 1]], yielded
|
65
|
+
end
|
66
|
+
assert_passed(test_result)
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_yields_different_values_on_consecutive_invocations
|
70
|
+
test_result = run_as_test do
|
71
|
+
m = mock('m')
|
72
|
+
m.stubs(:foo).yields(0, 1).then.yields(2, 3)
|
73
|
+
yielded = []
|
74
|
+
m.foo { |*args| yielded << args }
|
75
|
+
m.foo { |*args| yielded << args }
|
76
|
+
assert_equal [[0, 1], [2, 3]], yielded
|
77
|
+
end
|
78
|
+
assert_passed(test_result)
|
79
|
+
end
|
80
|
+
end
|
@@ -2,9 +2,13 @@ require File.expand_path('../../test_helper', __FILE__)
|
|
2
2
|
require 'mocha/expectation'
|
3
3
|
require 'mocha/invocation'
|
4
4
|
require 'mocha/sequence'
|
5
|
+
require 'mocha/configuration'
|
6
|
+
require 'mocha/deprecation'
|
5
7
|
require 'execution_point'
|
6
8
|
require 'simple_counter'
|
9
|
+
require 'deprecation_disabler'
|
7
10
|
|
11
|
+
# rubocop:disable Metrics/ClassLength
|
8
12
|
class ExpectationTest < Mocha::TestCase
|
9
13
|
include Mocha
|
10
14
|
|
@@ -13,7 +17,7 @@ class ExpectationTest < Mocha::TestCase
|
|
13
17
|
end
|
14
18
|
|
15
19
|
def invoke(expectation, &block)
|
16
|
-
expectation.invoke(Invocation.new(:irrelevant, :expected_method
|
20
|
+
expectation.invoke(Invocation.new(:irrelevant, :expected_method, &block))
|
17
21
|
end
|
18
22
|
|
19
23
|
def test_should_match_calls_to_same_method_with_any_parameters
|
@@ -112,8 +116,30 @@ class ExpectationTest < Mocha::TestCase
|
|
112
116
|
assert_equal [], yielded_parameters
|
113
117
|
end
|
114
118
|
|
115
|
-
def
|
116
|
-
|
119
|
+
def test_yield_should_fail_when_the_caller_does_not_provide_a_block_and_behaviour_from_v1_9_not_retained
|
120
|
+
Mocha::Configuration.override(:reinstate_undocumented_behaviour_from_v1_9 => false) do
|
121
|
+
assert_raises(LocalJumpError) { invoke(new_expectation.yields(:foo)) }
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
def test_yields_should_display_warning_when_caller_does_not_provide_block
|
126
|
+
DeprecationDisabler.disable_deprecations do
|
127
|
+
invoke(new_expectation.yields(:foo, 1, [2, 3]))
|
128
|
+
end
|
129
|
+
assert message = Deprecation.messages.last
|
130
|
+
assert message.include?('Stubbed method was instructed to yield (:foo, 1, [2, 3])')
|
131
|
+
assert message.include?('but no block was given by invocation: :irrelevant.expected_method()')
|
132
|
+
assert message.include?('This will raise a LocalJumpError in the future.')
|
133
|
+
end
|
134
|
+
|
135
|
+
def test_multiple_yields_should_display_warning_when_caller_does_not_provide_block
|
136
|
+
DeprecationDisabler.disable_deprecations do
|
137
|
+
invoke(new_expectation.multiple_yields(:foo, 1, [2, 3]))
|
138
|
+
end
|
139
|
+
assert message = Deprecation.messages.last
|
140
|
+
assert message.include?('Stubbed method was instructed to yield (2, 3)')
|
141
|
+
assert message.include?('but no block was given by invocation: :irrelevant.expected_method()')
|
142
|
+
assert message.include?('This will raise a LocalJumpError in the future.')
|
117
143
|
end
|
118
144
|
|
119
145
|
def test_should_yield_with_specified_parameters
|
@@ -475,3 +501,4 @@ class ExpectationTest < Mocha::TestCase
|
|
475
501
|
assert expectation.inspect.include?(expectation.mocha_inspect)
|
476
502
|
end
|
477
503
|
end
|
504
|
+
# rubocop:enable Metrics/ClassLength
|
@@ -1,91 +1,73 @@
|
|
1
1
|
require File.expand_path('../../test_helper', __FILE__)
|
2
2
|
|
3
3
|
require 'mocha/yield_parameters'
|
4
|
-
require 'mocha/no_yields'
|
5
|
-
require 'mocha/single_yield'
|
6
|
-
require 'mocha/multiple_yields'
|
7
4
|
|
8
5
|
class YieldParametersTest < Mocha::TestCase
|
9
6
|
include Mocha
|
10
7
|
|
11
8
|
def test_should_return_null_yield_parameter_group_by_default
|
12
|
-
|
13
|
-
assert yield_parameters.next_invocation.is_a?(NoYields)
|
9
|
+
assert_next_invocation_yields(YieldParameters.new, [])
|
14
10
|
end
|
15
11
|
|
16
12
|
def test_should_return_single_yield_parameter_group
|
17
13
|
yield_parameters = YieldParameters.new
|
18
|
-
yield_parameters.add(1, 2, 3)
|
19
|
-
|
20
|
-
assert parameter_group.is_a?(SingleYield)
|
21
|
-
assert_equal [1, 2, 3], parameter_group.parameters
|
14
|
+
yield_parameters.add([1, 2, 3])
|
15
|
+
assert_next_invocation_yields(yield_parameters, [[1, 2, 3]])
|
22
16
|
end
|
23
17
|
|
24
18
|
def test_should_keep_returning_single_yield_parameter_group
|
25
19
|
yield_parameters = YieldParameters.new
|
26
|
-
yield_parameters.add(1, 2, 3)
|
27
|
-
yield_parameters
|
28
|
-
|
29
|
-
assert parameter_group.is_a?(SingleYield)
|
30
|
-
assert_equal [1, 2, 3], parameter_group.parameters
|
31
|
-
parameter_group = yield_parameters.next_invocation
|
32
|
-
assert parameter_group.is_a?(SingleYield)
|
33
|
-
assert_equal [1, 2, 3], parameter_group.parameters
|
20
|
+
yield_parameters.add([1, 2, 3])
|
21
|
+
assert_next_invocation_yields(yield_parameters, [[1, 2, 3]])
|
22
|
+
assert_next_invocation_yields(yield_parameters, [[1, 2, 3]])
|
34
23
|
end
|
35
24
|
|
36
25
|
def test_should_return_consecutive_single_yield_parameter_groups
|
37
26
|
yield_parameters = YieldParameters.new
|
38
|
-
yield_parameters.add(1, 2, 3)
|
39
|
-
yield_parameters.add(4, 5)
|
40
|
-
|
41
|
-
|
42
|
-
assert_equal [1, 2, 3], parameter_group.parameters
|
43
|
-
parameter_group = yield_parameters.next_invocation
|
44
|
-
assert parameter_group.is_a?(SingleYield)
|
45
|
-
assert_equal [4, 5], parameter_group.parameters
|
27
|
+
yield_parameters.add([1, 2, 3])
|
28
|
+
yield_parameters.add([4, 5])
|
29
|
+
assert_next_invocation_yields(yield_parameters, [[1, 2, 3]])
|
30
|
+
assert_next_invocation_yields(yield_parameters, [[4, 5]])
|
46
31
|
end
|
47
32
|
|
48
33
|
def test_should_return_multiple_yield_parameter_group
|
49
34
|
yield_parameters = YieldParameters.new
|
50
|
-
yield_parameters.
|
51
|
-
|
52
|
-
|
53
|
-
|
35
|
+
yield_parameters.add([1, 2, 3], [4, 5])
|
36
|
+
assert_next_invocation_yields(yield_parameters, [[1, 2, 3], [4, 5]])
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_should_return_multiple_yield_parameter_group_when_arguments_are_not_arrays
|
40
|
+
yield_parameters = YieldParameters.new
|
41
|
+
yield_parameters.add(1, { :b => 2 }, 3)
|
42
|
+
assert_next_invocation_yields(yield_parameters, [[1], [{ :b => 2 }], [3]])
|
54
43
|
end
|
55
44
|
|
56
45
|
def test_should_keep_returning_multiple_yield_parameter_group
|
57
46
|
yield_parameters = YieldParameters.new
|
58
|
-
yield_parameters.
|
59
|
-
yield_parameters
|
60
|
-
|
61
|
-
assert parameter_group.is_a?(MultipleYields)
|
62
|
-
assert_equal [[1, 2, 3], [4, 5]], parameter_group.parameter_groups
|
63
|
-
parameter_group = yield_parameters.next_invocation
|
64
|
-
assert parameter_group.is_a?(MultipleYields)
|
65
|
-
assert_equal [[1, 2, 3], [4, 5]], parameter_group.parameter_groups
|
47
|
+
yield_parameters.add([1, 2, 3], [4, 5])
|
48
|
+
assert_next_invocation_yields(yield_parameters, [[1, 2, 3], [4, 5]])
|
49
|
+
assert_next_invocation_yields(yield_parameters, [[1, 2, 3], [4, 5]])
|
66
50
|
end
|
67
51
|
|
68
52
|
def test_should_return_consecutive_multiple_yield_parameter_groups
|
69
53
|
yield_parameters = YieldParameters.new
|
70
|
-
yield_parameters.
|
71
|
-
yield_parameters.
|
72
|
-
|
73
|
-
|
74
|
-
assert_equal [[1, 2, 3], [4, 5]], parameter_group.parameter_groups
|
75
|
-
parameter_group = yield_parameters.next_invocation
|
76
|
-
assert parameter_group.is_a?(MultipleYields)
|
77
|
-
assert_equal [[6, 7], [8, 9, 0]], parameter_group.parameter_groups
|
54
|
+
yield_parameters.add([1, 2, 3], [4, 5])
|
55
|
+
yield_parameters.add([6, 7], [8, 9, 0])
|
56
|
+
assert_next_invocation_yields(yield_parameters, [[1, 2, 3], [4, 5]])
|
57
|
+
assert_next_invocation_yields(yield_parameters, [[6, 7], [8, 9, 0]])
|
78
58
|
end
|
79
59
|
|
80
60
|
def test_should_return_consecutive_single_and_multiple_yield_parameter_groups
|
81
61
|
yield_parameters = YieldParameters.new
|
82
|
-
yield_parameters.add(1, 2, 3)
|
83
|
-
yield_parameters.
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
62
|
+
yield_parameters.add([1, 2, 3])
|
63
|
+
yield_parameters.add([4, 5, 6], [7, 8])
|
64
|
+
assert_next_invocation_yields(yield_parameters, [[1, 2, 3]])
|
65
|
+
assert_next_invocation_yields(yield_parameters, [[4, 5, 6], [7, 8]])
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
def assert_next_invocation_yields(yield_parameters, expected)
|
71
|
+
assert_equal expected, yield_parameters.next_invocation
|
90
72
|
end
|
91
73
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mocha
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.11.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Mead
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -74,6 +74,7 @@ extensions: []
|
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
76
|
- ".gemtest"
|
77
|
+
- ".github/FUNDING.yml"
|
77
78
|
- ".rubocop.yml"
|
78
79
|
- ".rubocop_todo.yml"
|
79
80
|
- ".yardopts"
|
@@ -165,6 +166,7 @@ files:
|
|
165
166
|
- lib/mocha/api.rb
|
166
167
|
- lib/mocha/argument_iterator.rb
|
167
168
|
- lib/mocha/backtrace_filter.rb
|
169
|
+
- lib/mocha/block_matcher.rb
|
168
170
|
- lib/mocha/cardinality.rb
|
169
171
|
- lib/mocha/central.rb
|
170
172
|
- lib/mocha/change_state_side_effect.rb
|
@@ -217,9 +219,7 @@ files:
|
|
217
219
|
- lib/mocha/minitest.rb
|
218
220
|
- lib/mocha/mock.rb
|
219
221
|
- lib/mocha/mockery.rb
|
220
|
-
- lib/mocha/multiple_yields.rb
|
221
222
|
- lib/mocha/names.rb
|
222
|
-
- lib/mocha/no_yields.rb
|
223
223
|
- lib/mocha/not_initialized_error.rb
|
224
224
|
- lib/mocha/object_methods.rb
|
225
225
|
- lib/mocha/parameter_matchers.rb
|
@@ -245,7 +245,6 @@ files:
|
|
245
245
|
- lib/mocha/parameter_matchers/responds_with.rb
|
246
246
|
- lib/mocha/parameter_matchers/yaml_equivalent.rb
|
247
247
|
- lib/mocha/parameters_matcher.rb
|
248
|
-
- lib/mocha/pretty_parameters.rb
|
249
248
|
- lib/mocha/raised_exception.rb
|
250
249
|
- lib/mocha/receivers.rb
|
251
250
|
- lib/mocha/return_values.rb
|
@@ -253,7 +252,6 @@ files:
|
|
253
252
|
- lib/mocha/sequence.rb
|
254
253
|
- lib/mocha/setup.rb
|
255
254
|
- lib/mocha/single_return_value.rb
|
256
|
-
- lib/mocha/single_yield.rb
|
257
255
|
- lib/mocha/singleton_class.rb
|
258
256
|
- lib/mocha/state_machine.rb
|
259
257
|
- lib/mocha/stubbed_method.rb
|
@@ -274,13 +272,16 @@ files:
|
|
274
272
|
- test/acceptance/expected_invocation_count_test.rb
|
275
273
|
- test/acceptance/failure_messages_test.rb
|
276
274
|
- test/acceptance/issue_272_test.rb
|
275
|
+
- test/acceptance/issue_457_test.rb
|
277
276
|
- test/acceptance/issue_65_test.rb
|
278
277
|
- test/acceptance/issue_70_test.rb
|
279
278
|
- test/acceptance/mocha_example_test.rb
|
280
279
|
- test/acceptance/mocha_test_result_test.rb
|
280
|
+
- test/acceptance/mock_built_with_first_argument_type_being_string_test.rb
|
281
281
|
- test/acceptance/mock_test.rb
|
282
282
|
- test/acceptance/mocked_methods_dispatch_test.rb
|
283
283
|
- test/acceptance/multiple_expectations_failure_message_test.rb
|
284
|
+
- test/acceptance/multiple_yielding_test.rb
|
284
285
|
- test/acceptance/optional_parameters_test.rb
|
285
286
|
- test/acceptance/parameter_matcher_test.rb
|
286
287
|
- test/acceptance/partial_mocks_test.rb
|
@@ -326,6 +327,7 @@ files:
|
|
326
327
|
- test/acceptance/throw_test.rb
|
327
328
|
- test/acceptance/unexpected_invocation_test.rb
|
328
329
|
- test/acceptance/unstubbing_test.rb
|
330
|
+
- test/acceptance/yielding_test.rb
|
329
331
|
- test/assertions.rb
|
330
332
|
- test/deprecation_disabler.rb
|
331
333
|
- test/execution_point.rb
|
@@ -359,8 +361,6 @@ files:
|
|
359
361
|
- test/unit/mock_test.rb
|
360
362
|
- test/unit/mockery_test.rb
|
361
363
|
- test/unit/module_methods_test.rb
|
362
|
-
- test/unit/multiple_yields_test.rb
|
363
|
-
- test/unit/no_yields_test.rb
|
364
364
|
- test/unit/object_inspect_test.rb
|
365
365
|
- test/unit/object_methods_test.rb
|
366
366
|
- test/unit/parameter_matchers/all_of_test.rb
|
@@ -386,7 +386,6 @@ files:
|
|
386
386
|
- test/unit/return_values_test.rb
|
387
387
|
- test/unit/sequence_test.rb
|
388
388
|
- test/unit/single_return_value_test.rb
|
389
|
-
- test/unit/single_yield_test.rb
|
390
389
|
- test/unit/state_machine_test.rb
|
391
390
|
- test/unit/string_inspect_test.rb
|
392
391
|
- test/unit/thrower_test.rb
|