mocha 1.11.2 → 1.12.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 +4 -4
- data/CONTRIBUTING.md +1 -1
- data/README.md +28 -30
- data/RELEASE.md +25 -0
- data/Rakefile +6 -1
- data/lib/mocha/cardinality.rb +30 -27
- data/lib/mocha/expectation.rb +24 -24
- data/lib/mocha/mock.rb +1 -1
- data/lib/mocha/mockery.rb +9 -22
- data/lib/mocha/state_machine.rb +30 -38
- data/lib/mocha/version.rb +1 -1
- data/mocha.gemspec +3 -1
- metadata +5 -192
- data/docs/CNAME +0 -1
- data/docs/Mocha.html +0 -254
- data/docs/Mocha/API.html +0 -1285
- data/docs/Mocha/ClassMethods.html +0 -264
- data/docs/Mocha/Configuration.html +0 -1525
- data/docs/Mocha/Expectation.html +0 -2862
- data/docs/Mocha/ExpectationError.html +0 -152
- data/docs/Mocha/ExpectationErrorFactory.html +0 -260
- data/docs/Mocha/Hooks.html +0 -370
- data/docs/Mocha/Integration.html +0 -125
- data/docs/Mocha/Integration/MiniTest.html +0 -123
- data/docs/Mocha/Integration/MiniTest/Adapter.html +0 -164
- data/docs/Mocha/Integration/TestUnit.html +0 -123
- data/docs/Mocha/Integration/TestUnit/Adapter.html +0 -164
- data/docs/Mocha/Mock.html +0 -1210
- data/docs/Mocha/ObjectMethods.html +0 -765
- data/docs/Mocha/ParameterMatchers.html +0 -2949
- data/docs/Mocha/ParameterMatchers/AllOf.html +0 -153
- data/docs/Mocha/ParameterMatchers/AnyOf.html +0 -153
- data/docs/Mocha/ParameterMatchers/AnyParameters.html +0 -153
- data/docs/Mocha/ParameterMatchers/Anything.html +0 -153
- data/docs/Mocha/ParameterMatchers/Base.html +0 -441
- data/docs/Mocha/ParameterMatchers/Equals.html +0 -153
- data/docs/Mocha/ParameterMatchers/EquivalentUri.html +0 -153
- data/docs/Mocha/ParameterMatchers/HasEntries.html +0 -153
- data/docs/Mocha/ParameterMatchers/HasEntry.html +0 -153
- data/docs/Mocha/ParameterMatchers/HasKey.html +0 -153
- data/docs/Mocha/ParameterMatchers/HasValue.html +0 -153
- data/docs/Mocha/ParameterMatchers/Includes.html +0 -153
- data/docs/Mocha/ParameterMatchers/InstanceOf.html +0 -153
- data/docs/Mocha/ParameterMatchers/IsA.html +0 -153
- data/docs/Mocha/ParameterMatchers/KindOf.html +0 -153
- data/docs/Mocha/ParameterMatchers/Not.html +0 -153
- data/docs/Mocha/ParameterMatchers/Optionally.html +0 -153
- data/docs/Mocha/ParameterMatchers/RegexpMatches.html +0 -153
- data/docs/Mocha/ParameterMatchers/RespondsWith.html +0 -153
- data/docs/Mocha/ParameterMatchers/YamlEquivalent.html +0 -153
- data/docs/Mocha/Sequence.html +0 -149
- data/docs/Mocha/StateMachine.html +0 -527
- data/docs/Mocha/StateMachine/State.html +0 -140
- data/docs/Mocha/StateMachine/StatePredicate.html +0 -140
- data/docs/Mocha/StubbingError.html +0 -150
- data/docs/_index.html +0 -519
- data/docs/class_list.html +0 -51
- data/docs/css/common.css +0 -1
- data/docs/css/full_list.css +0 -58
- data/docs/css/style.css +0 -496
- data/docs/file.COPYING.html +0 -81
- data/docs/file.MIT-LICENSE.html +0 -85
- data/docs/file.README.html +0 -448
- data/docs/file.RELEASE.html +0 -1028
- data/docs/file_list.html +0 -71
- data/docs/frames.html +0 -17
- data/docs/index.html +0 -448
- data/docs/js/app.js +0 -303
- data/docs/js/full_list.js +0 -216
- data/docs/js/jquery.js +0 -4
- data/docs/method_list.html +0 -651
- data/docs/top-level-namespace.html +0 -118
- data/test/acceptance/acceptance_test_helper.rb +0 -42
- data/test/acceptance/bug_18914_test.rb +0 -37
- data/test/acceptance/bug_21465_test.rb +0 -31
- data/test/acceptance/bug_21563_test.rb +0 -22
- data/test/acceptance/display_matching_invocations_alongside_expectations_test.rb +0 -69
- data/test/acceptance/exception_rescue_test.rb +0 -53
- data/test/acceptance/expectations_on_multiple_methods_test.rb +0 -55
- data/test/acceptance/expected_invocation_count_test.rb +0 -229
- data/test/acceptance/failure_messages_test.rb +0 -77
- data/test/acceptance/issue_272_test.rb +0 -50
- data/test/acceptance/issue_457_test.rb +0 -31
- data/test/acceptance/issue_65_test.rb +0 -64
- data/test/acceptance/issue_70_test.rb +0 -53
- data/test/acceptance/mocha_example_test.rb +0 -106
- data/test/acceptance/mocha_test_result_test.rb +0 -83
- data/test/acceptance/mock_built_with_first_argument_type_being_string_test.rb +0 -98
- data/test/acceptance/mock_test.rb +0 -191
- data/test/acceptance/mocked_methods_dispatch_test.rb +0 -75
- data/test/acceptance/multiple_expectations_failure_message_test.rb +0 -66
- data/test/acceptance/multiple_yielding_test.rb +0 -59
- data/test/acceptance/optional_parameters_test.rb +0 -67
- data/test/acceptance/parameter_matcher_test.rb +0 -299
- data/test/acceptance/partial_mocks_test.rb +0 -44
- data/test/acceptance/prepend_test.rb +0 -86
- data/test/acceptance/prevent_use_of_mocha_outside_test_test.rb +0 -76
- data/test/acceptance/raise_exception_test.rb +0 -36
- data/test/acceptance/return_value_test.rb +0 -49
- data/test/acceptance/sequence_test.rb +0 -189
- data/test/acceptance/states_test.rb +0 -71
- data/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +0 -64
- data/test/acceptance/stub_any_instance_method_test.rb +0 -301
- data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +0 -105
- 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 -73
- data/test/acceptance/stub_class_method_defined_on_superclass_test.rb +0 -144
- data/test/acceptance/stub_everything_test.rb +0 -53
- data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +0 -91
- data/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +0 -67
- data/test/acceptance/stub_instance_method_defined_on_class_test.rb +0 -67
- data/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +0 -136
- data/test/acceptance/stub_instance_method_defined_on_module_test.rb +0 -76
- 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 -67
- data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +0 -70
- data/test/acceptance/stub_method_defined_on_module_and_aliased_test.rb +0 -38
- data/test/acceptance/stub_module_method_test.rb +0 -200
- data/test/acceptance/stub_test.rb +0 -49
- data/test/acceptance/stubba_example_test.rb +0 -103
- data/test/acceptance/stubba_test_result_test.rb +0 -71
- data/test/acceptance/stubbing_error_backtrace_test.rb +0 -63
- data/test/acceptance/stubbing_frozen_object_test.rb +0 -88
- data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +0 -52
- data/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -63
- data/test/acceptance/stubbing_nil_test.rb +0 -60
- data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -157
- data/test/acceptance/stubbing_non_existent_class_method_test.rb +0 -157
- data/test/acceptance/stubbing_non_existent_instance_method_test.rb +0 -145
- data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -128
- data/test/acceptance/stubbing_non_public_class_method_test.rb +0 -163
- data/test/acceptance/stubbing_non_public_instance_method_test.rb +0 -141
- data/test/acceptance/stubbing_on_non_mock_object_test.rb +0 -70
- data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +0 -33
- data/test/acceptance/throw_test.rb +0 -42
- data/test/acceptance/unexpected_invocation_test.rb +0 -23
- data/test/acceptance/unstubbing_test.rb +0 -194
- data/test/acceptance/yielding_test.rb +0 -80
- 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 -178
- data/test/integration/test_unit_test.rb +0 -8
- data/test/method_definer.rb +0 -16
- data/test/mini_test_result.rb +0 -96
- data/test/minitest_result.rb +0 -48
- data/test/simple_counter.rb +0 -11
- data/test/test_helper.rb +0 -58
- data/test/test_runner.rb +0 -58
- data/test/test_unit_result.rb +0 -22
- data/test/unit/any_instance_method_test.rb +0 -175
- data/test/unit/array_inspect_test.rb +0 -14
- data/test/unit/backtrace_filter_test.rb +0 -17
- data/test/unit/cardinality_test.rb +0 -72
- data/test/unit/central_test.rb +0 -98
- data/test/unit/change_state_side_effect_test.rb +0 -37
- data/test/unit/class_methods_test.rb +0 -69
- data/test/unit/configuration_test.rb +0 -37
- data/test/unit/date_time_inspect_test.rb +0 -19
- data/test/unit/exception_raiser_test.rb +0 -45
- data/test/unit/expectation_list_test.rb +0 -82
- data/test/unit/expectation_test.rb +0 -504
- data/test/unit/hash_inspect_test.rb +0 -14
- data/test/unit/hooks_test.rb +0 -35
- data/test/unit/in_state_ordering_constraint_test.rb +0 -39
- data/test/unit/instance_method_test.rb +0 -282
- data/test/unit/method_matcher_test.rb +0 -26
- data/test/unit/mock_test.rb +0 -372
- data/test/unit/mockery_test.rb +0 -171
- data/test/unit/module_methods_test.rb +0 -16
- data/test/unit/object_inspect_test.rb +0 -60
- data/test/unit/object_methods_test.rb +0 -63
- data/test/unit/parameter_matchers/all_of_test.rb +0 -24
- data/test/unit/parameter_matchers/any_of_test.rb +0 -24
- data/test/unit/parameter_matchers/anything_test.rb +0 -19
- data/test/unit/parameter_matchers/equals_test.rb +0 -23
- data/test/unit/parameter_matchers/equivalent_uri_test.rb +0 -41
- data/test/unit/parameter_matchers/has_entries_test.rb +0 -51
- data/test/unit/parameter_matchers/has_entry_test.rb +0 -128
- data/test/unit/parameter_matchers/has_key_test.rb +0 -54
- data/test/unit/parameter_matchers/has_value_test.rb +0 -55
- data/test/unit/parameter_matchers/includes_test.rb +0 -106
- data/test/unit/parameter_matchers/instance_of_test.rb +0 -23
- data/test/unit/parameter_matchers/is_a_test.rb +0 -23
- data/test/unit/parameter_matchers/kind_of_test.rb +0 -23
- data/test/unit/parameter_matchers/not_test.rb +0 -24
- data/test/unit/parameter_matchers/regexp_matches_test.rb +0 -45
- data/test/unit/parameter_matchers/responds_with_test.rb +0 -38
- data/test/unit/parameter_matchers/stub_matcher.rb +0 -23
- data/test/unit/parameter_matchers/yaml_equivalent_test.rb +0 -23
- data/test/unit/parameters_matcher_test.rb +0 -119
- data/test/unit/receivers_test.rb +0 -96
- data/test/unit/return_values_test.rb +0 -66
- data/test/unit/sequence_test.rb +0 -100
- data/test/unit/single_return_value_test.rb +0 -17
- data/test/unit/state_machine_test.rb +0 -96
- data/test/unit/string_inspect_test.rb +0 -9
- data/test/unit/thrower_test.rb +0 -23
- data/test/unit/yield_parameters_test.rb +0 -73
data/test/unit/sequence_test.rb
DELETED
@@ -1,100 +0,0 @@
|
|
1
|
-
require File.expand_path('../../test_helper', __FILE__)
|
2
|
-
require 'mocha/sequence'
|
3
|
-
require 'mocha/expectation'
|
4
|
-
|
5
|
-
class SequenceTest < Mocha::TestCase
|
6
|
-
include Mocha
|
7
|
-
|
8
|
-
class FakeExpectation
|
9
|
-
attr_reader :ordering_constraints
|
10
|
-
|
11
|
-
def initialize(satisfied = false)
|
12
|
-
@satisfied = satisfied
|
13
|
-
@ordering_constraints = []
|
14
|
-
end
|
15
|
-
|
16
|
-
def add_ordering_constraint(ordering_constraint)
|
17
|
-
@ordering_constraints << ordering_constraint
|
18
|
-
end
|
19
|
-
|
20
|
-
def satisfied?
|
21
|
-
@satisfied
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_should_be_satisfied_if_no_expectations_added
|
26
|
-
sequence = Sequence.new('name')
|
27
|
-
assert sequence.satisfied_to_index?(0)
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_should_be_satisfied_if_one_unsatisfied_expectations_added_but_it_is_not_included_by_index
|
31
|
-
sequence = Sequence.new('name')
|
32
|
-
expectation = FakeExpectation.new(false)
|
33
|
-
sequence.constrain_as_next_in_sequence(expectation)
|
34
|
-
assert sequence.satisfied_to_index?(0)
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_should_not_be_satisfied_if_one_unsatisfied_expectations_added_and_it_is_included_by_index
|
38
|
-
sequence = Sequence.new('name')
|
39
|
-
expectation = FakeExpectation.new(false)
|
40
|
-
sequence.constrain_as_next_in_sequence(expectation)
|
41
|
-
assert !sequence.satisfied_to_index?(1)
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_should_be_satisfied_if_one_satisfied_expectations_added_and_it_is_included_by_index
|
45
|
-
sequence = Sequence.new('name')
|
46
|
-
expectation = FakeExpectation.new(true)
|
47
|
-
sequence.constrain_as_next_in_sequence(expectation)
|
48
|
-
assert sequence.satisfied_to_index?(1)
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_should_not_be_satisfied_if_one_satisfied_and_one_unsatisfied_expectation_added_and_both_are_included_by_index
|
52
|
-
sequence = Sequence.new('name')
|
53
|
-
expectation_one = FakeExpectation.new(true)
|
54
|
-
expectation_two = FakeExpectation.new(false)
|
55
|
-
sequence.constrain_as_next_in_sequence(expectation_one)
|
56
|
-
sequence.constrain_as_next_in_sequence(expectation_two)
|
57
|
-
assert !sequence.satisfied_to_index?(2)
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_should_be_satisfied_if_two_satisfied_expectations_added_and_both_are_included_by_index
|
61
|
-
sequence = Sequence.new('name')
|
62
|
-
expectation_one = FakeExpectation.new(true)
|
63
|
-
expectation_two = FakeExpectation.new(true)
|
64
|
-
sequence.constrain_as_next_in_sequence(expectation_one)
|
65
|
-
sequence.constrain_as_next_in_sequence(expectation_two)
|
66
|
-
assert sequence.satisfied_to_index?(2)
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_should_add_ordering_constraint_to_expectation
|
70
|
-
sequence = Sequence.new('name')
|
71
|
-
expectation = FakeExpectation.new
|
72
|
-
sequence.constrain_as_next_in_sequence(expectation)
|
73
|
-
assert_equal 1, expectation.ordering_constraints.length
|
74
|
-
end
|
75
|
-
|
76
|
-
def test_should_not_allow_invocation_of_second_method_when_first_n_sequence_has_not_been_invoked
|
77
|
-
sequence = Sequence.new('name')
|
78
|
-
expectation_one = FakeExpectation.new(false)
|
79
|
-
expectation_two = FakeExpectation.new(false)
|
80
|
-
sequence.constrain_as_next_in_sequence(expectation_one)
|
81
|
-
sequence.constrain_as_next_in_sequence(expectation_two)
|
82
|
-
assert !expectation_two.ordering_constraints[0].allows_invocation_now?
|
83
|
-
end
|
84
|
-
|
85
|
-
def test_should_allow_invocation_of_second_method_when_first_in_sequence_has_been_invoked
|
86
|
-
sequence = Sequence.new('name')
|
87
|
-
expectation_one = FakeExpectation.new(true)
|
88
|
-
expectation_two = FakeExpectation.new(false)
|
89
|
-
sequence.constrain_as_next_in_sequence(expectation_one)
|
90
|
-
sequence.constrain_as_next_in_sequence(expectation_two)
|
91
|
-
assert expectation_two.ordering_constraints[0].allows_invocation_now?
|
92
|
-
end
|
93
|
-
|
94
|
-
def test_should_describe_ordering_constraint_as_being_part_of_named_sequence
|
95
|
-
sequence = Sequence.new('wibble')
|
96
|
-
expectation = FakeExpectation.new
|
97
|
-
sequence.constrain_as_next_in_sequence(expectation)
|
98
|
-
assert_equal %(in sequence "wibble"), expectation.ordering_constraints[0].mocha_inspect
|
99
|
-
end
|
100
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
require File.expand_path('../../test_helper', __FILE__)
|
2
|
-
|
3
|
-
require 'mocha/invocation'
|
4
|
-
require 'mocha/single_return_value'
|
5
|
-
|
6
|
-
class SingleReturnValueTest < Mocha::TestCase
|
7
|
-
include Mocha
|
8
|
-
|
9
|
-
def new_invocation
|
10
|
-
Invocation.new(:irrelevant, :irrelevant)
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_should_return_value
|
14
|
-
value = SingleReturnValue.new('value')
|
15
|
-
assert_equal 'value', value.evaluate(new_invocation)
|
16
|
-
end
|
17
|
-
end
|
@@ -1,96 +0,0 @@
|
|
1
|
-
require File.expand_path('../../test_helper', __FILE__)
|
2
|
-
|
3
|
-
require 'mocha/state_machine'
|
4
|
-
|
5
|
-
class StateMachineTest < Mocha::TestCase
|
6
|
-
include Mocha
|
7
|
-
|
8
|
-
def test_should_initially_be_in_no_state
|
9
|
-
state_machine = StateMachine.new('name')
|
10
|
-
any_state.each do |state|
|
11
|
-
assert !state_machine.is(state).active?
|
12
|
-
assert state_machine.is_not(state).active?
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_should_be_able_to_enter_a_state
|
17
|
-
state_machine = StateMachine.new('name')
|
18
|
-
state = 'A'
|
19
|
-
other_states = any_state.reject { |s| s == state }
|
20
|
-
|
21
|
-
state_machine.is(state).activate
|
22
|
-
|
23
|
-
assert state_machine.is(state).active?
|
24
|
-
assert !state_machine.is_not(state).active?
|
25
|
-
other_states.each do |s|
|
26
|
-
assert !state_machine.is(s).active?
|
27
|
-
assert state_machine.is_not(s).active?
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_should_be_able_to_change_state
|
32
|
-
state_machine = StateMachine.new('name')
|
33
|
-
state = 'B'
|
34
|
-
other_states = any_state.reject { |s| s == state }
|
35
|
-
|
36
|
-
state_machine.is('A').activate
|
37
|
-
state_machine.is(state).activate
|
38
|
-
|
39
|
-
assert state_machine.is(state).active?
|
40
|
-
assert !state_machine.is_not(state).active?
|
41
|
-
other_states.each do |s|
|
42
|
-
assert !state_machine.is(s).active?
|
43
|
-
assert state_machine.is_not(s).active?
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_should_be_put_into_an_initial_state
|
48
|
-
state_machine = StateMachine.new('name')
|
49
|
-
initial_state = 'A'
|
50
|
-
other_states = any_state.reject { |s| s == initial_state }
|
51
|
-
|
52
|
-
state_machine.starts_as(initial_state)
|
53
|
-
|
54
|
-
assert state_machine.is(initial_state).active?
|
55
|
-
assert !state_machine.is_not(initial_state).active?
|
56
|
-
other_states.each do |state|
|
57
|
-
assert !state_machine.is(state).active?
|
58
|
-
assert state_machine.is_not(state).active?
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
def test_should_be_put_into_a_new_state
|
63
|
-
next_state = 'B'
|
64
|
-
|
65
|
-
other_states = any_state.reject { |s| s == next_state }
|
66
|
-
state_machine = StateMachine.new('name').starts_as('A')
|
67
|
-
|
68
|
-
state_machine.become(next_state)
|
69
|
-
|
70
|
-
assert state_machine.is(next_state).active?
|
71
|
-
assert !state_machine.is_not(next_state).active?
|
72
|
-
other_states.each do |state|
|
73
|
-
assert !state_machine.is(state).active?
|
74
|
-
assert state_machine.is_not(state).active?
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
def test_should_describe_itself_as_name_and_current_state
|
79
|
-
state_machine = StateMachine.new('state_machine_name')
|
80
|
-
assert_equal 'state_machine_name has no current state', state_machine.mocha_inspect
|
81
|
-
inspectable_state = Class.new { define_method(:mocha_inspect) { "'inspectable_state'" } }.new
|
82
|
-
state_machine.is(inspectable_state).activate
|
83
|
-
assert_equal "state_machine_name is 'inspectable_state'", state_machine.mocha_inspect
|
84
|
-
end
|
85
|
-
|
86
|
-
def test_should_have_self_describing_states
|
87
|
-
state_machine = StateMachine.new('state_machine_name')
|
88
|
-
inspectable_state = Class.new { define_method(:mocha_inspect) { "'inspectable_state'" } }.new
|
89
|
-
assert_equal "state_machine_name is 'inspectable_state'", state_machine.is(inspectable_state).mocha_inspect
|
90
|
-
assert_equal "state_machine_name is not 'inspectable_state'", state_machine.is_not(inspectable_state).mocha_inspect
|
91
|
-
end
|
92
|
-
|
93
|
-
def any_state
|
94
|
-
%w[A B C D]
|
95
|
-
end
|
96
|
-
end
|
data/test/unit/thrower_test.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require File.expand_path('../../test_helper', __FILE__)
|
2
|
-
|
3
|
-
require 'mocha/invocation'
|
4
|
-
require 'mocha/thrower'
|
5
|
-
|
6
|
-
class ThrowerTest < Mocha::TestCase
|
7
|
-
include Mocha
|
8
|
-
|
9
|
-
def new_invocation
|
10
|
-
Invocation.new(:irrelevant, :irrelevant)
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_should_throw_tag
|
14
|
-
thrower = Thrower.new(:tag)
|
15
|
-
assert_throws(:tag) { thrower.evaluate(new_invocation) }
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_should_throw_tag_with_return_value
|
19
|
-
thrower = Thrower.new(:tag, 'return-value')
|
20
|
-
return_value = catch(:tag) { thrower.evaluate(new_invocation) }
|
21
|
-
assert_equal 'return-value', return_value
|
22
|
-
end
|
23
|
-
end
|
@@ -1,73 +0,0 @@
|
|
1
|
-
require File.expand_path('../../test_helper', __FILE__)
|
2
|
-
|
3
|
-
require 'mocha/yield_parameters'
|
4
|
-
|
5
|
-
class YieldParametersTest < Mocha::TestCase
|
6
|
-
include Mocha
|
7
|
-
|
8
|
-
def test_should_return_null_yield_parameter_group_by_default
|
9
|
-
assert_next_invocation_yields(YieldParameters.new, [])
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_should_return_single_yield_parameter_group
|
13
|
-
yield_parameters = YieldParameters.new
|
14
|
-
yield_parameters.add([1, 2, 3])
|
15
|
-
assert_next_invocation_yields(yield_parameters, [[1, 2, 3]])
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_should_keep_returning_single_yield_parameter_group
|
19
|
-
yield_parameters = YieldParameters.new
|
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]])
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_should_return_consecutive_single_yield_parameter_groups
|
26
|
-
yield_parameters = YieldParameters.new
|
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]])
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_should_return_multiple_yield_parameter_group
|
34
|
-
yield_parameters = YieldParameters.new
|
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]])
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_should_keep_returning_multiple_yield_parameter_group
|
46
|
-
yield_parameters = YieldParameters.new
|
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]])
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_should_return_consecutive_multiple_yield_parameter_groups
|
53
|
-
yield_parameters = YieldParameters.new
|
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]])
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_should_return_consecutive_single_and_multiple_yield_parameter_groups
|
61
|
-
yield_parameters = YieldParameters.new
|
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
|
72
|
-
end
|
73
|
-
end
|