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/mockery_test.rb
DELETED
@@ -1,171 +0,0 @@
|
|
1
|
-
require File.expand_path('../../test_helper', __FILE__)
|
2
|
-
require 'mocha/mockery'
|
3
|
-
require 'mocha/state_machine'
|
4
|
-
require 'mocha/expectation_error_factory'
|
5
|
-
|
6
|
-
class MockeryTest < Mocha::TestCase
|
7
|
-
include Mocha
|
8
|
-
|
9
|
-
def setup
|
10
|
-
Mockery.setup
|
11
|
-
end
|
12
|
-
|
13
|
-
def teardown
|
14
|
-
Mockery.teardown
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_should_return_null_mockery_if_not_setup
|
18
|
-
Mockery.teardown
|
19
|
-
mockery = Mockery.instance
|
20
|
-
assert_not_nil mockery
|
21
|
-
assert_kind_of Mockery::Null, mockery
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_should_return_instance_of_mockery
|
25
|
-
mockery = Mockery.instance
|
26
|
-
assert_not_nil mockery
|
27
|
-
assert_kind_of Mockery, mockery
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_should_cache_instance_of_mockery
|
31
|
-
mockery1 = Mockery.instance
|
32
|
-
mockery2 = Mockery.instance
|
33
|
-
assert_same mockery1, mockery2
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_should_expire_mockery_instance_cache
|
37
|
-
mockery1 = Mockery.instance
|
38
|
-
Mockery.teardown
|
39
|
-
mockery2 = Mockery.instance
|
40
|
-
assert_not_same mockery1, mockery2
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_should_raise_expectation_error_because_not_all_expectations_are_satisfied
|
44
|
-
mockery = Mockery.new
|
45
|
-
mock1 = mockery.named_mock('mock-1')
|
46
|
-
mock1.expects(:method_1)
|
47
|
-
mock2 = mockery.named_mock('mock-2')
|
48
|
-
mock2.expects(:method_2)
|
49
|
-
1.times { mock1.method_1 }
|
50
|
-
0.times { mock2.method_2 }
|
51
|
-
assert_raises(ExpectationErrorFactory.exception_class) { mockery.verify }
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_should_reset_list_of_mocks_on_teardown
|
55
|
-
mockery = Mockery.new
|
56
|
-
mock = mockery.unnamed_mock
|
57
|
-
mock.expects(:my_method)
|
58
|
-
mockery.teardown
|
59
|
-
assert_nothing_raised(ExpectationErrorFactory.exception_class) { mockery.verify }
|
60
|
-
end
|
61
|
-
|
62
|
-
def test_should_build_instance_of_stubba_on_instantiation
|
63
|
-
mockery = Mockery.new
|
64
|
-
assert_not_nil mockery.stubba
|
65
|
-
assert_kind_of Central, mockery.stubba
|
66
|
-
end
|
67
|
-
|
68
|
-
def test_should_build_new_instance_of_stubba_on_teardown
|
69
|
-
mockery = Mockery.new
|
70
|
-
stubba1 = mockery.stubba
|
71
|
-
mockery.teardown
|
72
|
-
stubba2 = mockery.stubba
|
73
|
-
assert_not_same stubba1, stubba2
|
74
|
-
end
|
75
|
-
|
76
|
-
def test_should_build_and_store_new_state_machine
|
77
|
-
mockery = Mockery.new
|
78
|
-
mockery.new_state_machine('state-machine-name')
|
79
|
-
assert_equal 1, mockery.state_machines.length
|
80
|
-
assert_kind_of StateMachine, mockery.state_machines[0]
|
81
|
-
end
|
82
|
-
|
83
|
-
def test_should_reset_list_of_state_machines_on_teardown
|
84
|
-
mockery = Mockery.new
|
85
|
-
mockery.new_state_machine('state-machine-name')
|
86
|
-
mockery.teardown
|
87
|
-
assert_equal 0, mockery.state_machines.length
|
88
|
-
end
|
89
|
-
|
90
|
-
class FakeMethod
|
91
|
-
def stub; end
|
92
|
-
|
93
|
-
def unstub; end
|
94
|
-
|
95
|
-
def matches?(_other)
|
96
|
-
true
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
def test_should_unstub_all_methods_on_teardown
|
101
|
-
mockery = Mockery.new
|
102
|
-
stubba = mockery.stubba
|
103
|
-
stubba.stub(FakeMethod.new)
|
104
|
-
mockery.teardown
|
105
|
-
assert stubba.stubba_methods.empty?
|
106
|
-
end
|
107
|
-
|
108
|
-
def test_should_display_object_id_for_mocha_inspect_if_mock_has_no_name
|
109
|
-
mockery = Mockery.new
|
110
|
-
mock = mockery.unnamed_mock
|
111
|
-
assert_match Regexp.new('^#<Mock:0x[0-9A-Fa-f]{1,12}>$'), mock.mocha_inspect
|
112
|
-
end
|
113
|
-
|
114
|
-
def test_should_display_object_id_for_inspect_if_mock_has_no_name
|
115
|
-
mockery = Mockery.new
|
116
|
-
mock = mockery.unnamed_mock
|
117
|
-
assert_match Regexp.new('^#<Mock:0x[0-9A-Fa-f]{1,12}>$'), mock.inspect
|
118
|
-
end
|
119
|
-
|
120
|
-
def test_should_display_name_for_mocha_inspect_if_mock_has_string_name
|
121
|
-
mockery = Mockery.new
|
122
|
-
mock = mockery.named_mock('named_mock')
|
123
|
-
assert_equal '#<Mock:named_mock>', mock.mocha_inspect
|
124
|
-
end
|
125
|
-
|
126
|
-
def test_should_display_name_for_mocha_inspect_if_mock_has_symbol_name
|
127
|
-
mockery = Mockery.new
|
128
|
-
mock = mockery.named_mock(:named_mock)
|
129
|
-
assert_equal '#<Mock:named_mock>', mock.mocha_inspect
|
130
|
-
end
|
131
|
-
|
132
|
-
def test_should_display_name_for_inspect_if_mock_has_string_name
|
133
|
-
mockery = Mockery.new
|
134
|
-
mock = mockery.named_mock('named_mock')
|
135
|
-
assert_equal '#<Mock:named_mock>', mock.inspect
|
136
|
-
end
|
137
|
-
|
138
|
-
def test_should_display_name_for_inspect_if_mock_has_symbol_name
|
139
|
-
mockery = Mockery.new
|
140
|
-
mock = mockery.named_mock(:named_mock)
|
141
|
-
assert_equal '#<Mock:named_mock>', mock.inspect
|
142
|
-
end
|
143
|
-
|
144
|
-
def test_should_display_impersonated_object_for_mocha_inspect
|
145
|
-
mockery = Mockery.new
|
146
|
-
instance = Object.new
|
147
|
-
mock = mockery.mock_impersonating(instance)
|
148
|
-
assert_equal instance.mocha_inspect.to_s, mock.mocha_inspect
|
149
|
-
end
|
150
|
-
|
151
|
-
def test_should_display_impersonated_object_for_inspect
|
152
|
-
mockery = Mockery.new
|
153
|
-
instance = Object.new
|
154
|
-
mock = mockery.mock_impersonating(instance)
|
155
|
-
assert_equal instance.mocha_inspect.to_s, mock.inspect
|
156
|
-
end
|
157
|
-
|
158
|
-
class FakeClass; end
|
159
|
-
|
160
|
-
def test_should_display_any_instance_prefix_followed_by_class_whose_instances_are_being_impersonated_for_mocha_inspect
|
161
|
-
mockery = Mockery.new
|
162
|
-
mock = mockery.mock_impersonating_any_instance_of(FakeClass)
|
163
|
-
assert_equal '#<AnyInstance:MockeryTest::FakeClass>', mock.mocha_inspect
|
164
|
-
end
|
165
|
-
|
166
|
-
def test_should_display_any_instance_prefix_followed_by_class_whose_instances_are_being_impersonated_for_inspect
|
167
|
-
mockery = Mockery.new
|
168
|
-
mock = mockery.mock_impersonating_any_instance_of(FakeClass)
|
169
|
-
assert_equal '#<AnyInstance:MockeryTest::FakeClass>', mock.inspect
|
170
|
-
end
|
171
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
require File.expand_path('../../test_helper', __FILE__)
|
2
|
-
require 'mocha/object_methods'
|
3
|
-
|
4
|
-
class ModuleMethodsTest < Mocha::TestCase
|
5
|
-
def setup
|
6
|
-
@module = Module.new.extend(Mocha::ObjectMethods)
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_should_use_stubba_module_method_for_module
|
10
|
-
assert_equal Mocha::InstanceMethod, @module.stubba_method
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_should_stub_self_for_module
|
14
|
-
assert_equal @module, @module.stubba_object
|
15
|
-
end
|
16
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
require File.expand_path('../../test_helper', __FILE__)
|
2
|
-
require 'mocha/ruby_version'
|
3
|
-
require 'mocha/inspect'
|
4
|
-
require 'method_definer'
|
5
|
-
|
6
|
-
class ObjectInspectTest < Mocha::TestCase
|
7
|
-
include MethodDefiner
|
8
|
-
|
9
|
-
def test_should_return_default_string_representation_of_object_not_including_instance_variables
|
10
|
-
object = Object.new
|
11
|
-
class << object
|
12
|
-
attr_accessor :attribute
|
13
|
-
end
|
14
|
-
object.attribute = 'instance_variable'
|
15
|
-
assert_match Regexp.new('^#<Object:0x[0-9A-Fa-f]{1,8}.*>$'), object.mocha_inspect
|
16
|
-
assert_no_match(/instance_variable/, object.mocha_inspect)
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_should_return_customized_string_representation_of_object
|
20
|
-
object = Object.new
|
21
|
-
class << object
|
22
|
-
define_method(:inspect) { 'custom_inspect' }
|
23
|
-
end
|
24
|
-
assert_equal 'custom_inspect', object.mocha_inspect
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_should_use_underscored_id_instead_of_object_id_or_id_so_that_they_can_be_stubbed
|
28
|
-
calls = []
|
29
|
-
object = Object.new
|
30
|
-
if Mocha::PRE_RUBY_V19
|
31
|
-
replace_instance_method(object, :id) do
|
32
|
-
calls << :id
|
33
|
-
return 1
|
34
|
-
end
|
35
|
-
end
|
36
|
-
replace_instance_method(object, :object_id) do
|
37
|
-
calls << :object_id
|
38
|
-
return 1
|
39
|
-
end
|
40
|
-
replace_instance_method(object, :__id__) do
|
41
|
-
calls << :__id__
|
42
|
-
return 1
|
43
|
-
end
|
44
|
-
replace_instance_method(object, :inspect) { 'object-description' }
|
45
|
-
|
46
|
-
object.mocha_inspect
|
47
|
-
|
48
|
-
assert_equal [:__id__], calls.uniq
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_should_not_call_object_instance_format_method
|
52
|
-
object = Object.new
|
53
|
-
class << object
|
54
|
-
def format(*)
|
55
|
-
'internal_format'
|
56
|
-
end
|
57
|
-
end
|
58
|
-
assert_no_match(/internal_format/, object.mocha_inspect)
|
59
|
-
end
|
60
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
require File.expand_path('../../test_helper', __FILE__)
|
2
|
-
require 'mocha/object_methods'
|
3
|
-
require 'mocha/mockery'
|
4
|
-
require 'mocha/mock'
|
5
|
-
require 'mocha/expectation_error_factory'
|
6
|
-
require 'mocha/names'
|
7
|
-
|
8
|
-
class ObjectMethodsTest < Mocha::TestCase
|
9
|
-
def setup
|
10
|
-
Mocha::Mockery.setup
|
11
|
-
@object = Object.new.extend(Mocha::ObjectMethods)
|
12
|
-
end
|
13
|
-
|
14
|
-
def teardown
|
15
|
-
Mocha::Mockery.teardown
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_should_build_mocha_referring_to_self
|
19
|
-
mocha = @object.mocha
|
20
|
-
assert_not_nil mocha
|
21
|
-
assert mocha.is_a?(Mocha::Mock)
|
22
|
-
expected_name = Mocha::ImpersonatingName.new(@object).mocha_inspect
|
23
|
-
assert_equal expected_name, mocha.mocha_inspect
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_should_not_build_mocha_if_instantiate_is_false
|
27
|
-
assert_nil @object.mocha(false)
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_should_reuse_existing_mocha
|
31
|
-
mocha1 = @object.mocha
|
32
|
-
mocha2 = @object.mocha
|
33
|
-
assert_equal mocha1, mocha2
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_should_reuse_existing_mocha_even_if_instantiate_is_false
|
37
|
-
mocha1 = @object.mocha
|
38
|
-
mocha2 = @object.mocha(false)
|
39
|
-
assert_equal mocha1, mocha2
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_should_reset_mocha
|
43
|
-
assert_nil @object.reset_mocha
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_should_use_stubba_instance_method_for_object
|
47
|
-
assert_equal Mocha::InstanceMethod, @object.stubba_method
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_should_stub_self_for_object
|
51
|
-
assert_equal @object, @object.stubba_object
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_nobody_expects_the_spanish_inquisition
|
55
|
-
assert_raises(Mocha::ExpectationErrorFactory.exception_class) { @object.expects(:the_spanish_inquisition) }
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_should_alias_object_method
|
59
|
-
klass = Class.new { def self.method_x; end }
|
60
|
-
klass.extend(Mocha::ObjectMethods)
|
61
|
-
assert_equal klass._method(:method_x), klass.method(:method_x)
|
62
|
-
end
|
63
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require File.expand_path('../../../test_helper', __FILE__)
|
2
|
-
|
3
|
-
require 'mocha/parameter_matchers/all_of'
|
4
|
-
require 'mocha/inspect'
|
5
|
-
require 'stub_matcher'
|
6
|
-
|
7
|
-
class AllOfTest < Mocha::TestCase
|
8
|
-
include Mocha::ParameterMatchers
|
9
|
-
|
10
|
-
def test_should_match_if_all_matchers_match
|
11
|
-
matcher = all_of(Stub::Matcher.new(true), Stub::Matcher.new(true), Stub::Matcher.new(true))
|
12
|
-
assert matcher.matches?(['any_old_value'])
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_should_not_match_if_any_matcher_does_not_match
|
16
|
-
matcher = all_of(Stub::Matcher.new(true), Stub::Matcher.new(false), Stub::Matcher.new(true))
|
17
|
-
assert !matcher.matches?(['any_old_value'])
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_should_describe_matcher
|
21
|
-
matcher = all_of(Stub::Matcher.new(true), Stub::Matcher.new(false), Stub::Matcher.new(true))
|
22
|
-
assert_equal 'all_of(matcher(true), matcher(false), matcher(true))', matcher.mocha_inspect
|
23
|
-
end
|
24
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require File.expand_path('../../../test_helper', __FILE__)
|
2
|
-
|
3
|
-
require 'mocha/parameter_matchers/any_of'
|
4
|
-
require 'mocha/inspect'
|
5
|
-
require 'stub_matcher'
|
6
|
-
|
7
|
-
class AnyOfTest < Mocha::TestCase
|
8
|
-
include Mocha::ParameterMatchers
|
9
|
-
|
10
|
-
def test_should_match_if_any_matchers_match
|
11
|
-
matcher = any_of(Stub::Matcher.new(false), Stub::Matcher.new(true), Stub::Matcher.new(false))
|
12
|
-
assert matcher.matches?(['any_old_value'])
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_should_not_match_if_no_matchers_match
|
16
|
-
matcher = any_of(Stub::Matcher.new(false), Stub::Matcher.new(false), Stub::Matcher.new(false))
|
17
|
-
assert !matcher.matches?(['any_old_value'])
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_should_describe_matcher
|
21
|
-
matcher = any_of(Stub::Matcher.new(false), Stub::Matcher.new(true), Stub::Matcher.new(false))
|
22
|
-
assert_equal 'any_of(matcher(false), matcher(true), matcher(false))', matcher.mocha_inspect
|
23
|
-
end
|
24
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
require File.expand_path('../../../test_helper', __FILE__)
|
2
|
-
|
3
|
-
require 'mocha/parameter_matchers/anything'
|
4
|
-
require 'mocha/inspect'
|
5
|
-
|
6
|
-
class AnythingTest < Mocha::TestCase
|
7
|
-
include Mocha::ParameterMatchers
|
8
|
-
|
9
|
-
def test_should_match_anything
|
10
|
-
matcher = anything
|
11
|
-
assert matcher.matches?([:something])
|
12
|
-
assert matcher.matches?([{ 'x' => 'y' }])
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_should_describe_matcher
|
16
|
-
matcher = anything
|
17
|
-
assert_equal 'anything', matcher.mocha_inspect
|
18
|
-
end
|
19
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
require File.expand_path('../../../test_helper', __FILE__)
|
2
|
-
|
3
|
-
require 'mocha/parameter_matchers/equals'
|
4
|
-
require 'mocha/inspect'
|
5
|
-
|
6
|
-
class EqualsTest < Mocha::TestCase
|
7
|
-
include Mocha::ParameterMatchers
|
8
|
-
|
9
|
-
def test_should_match_object_that_equals_value
|
10
|
-
matcher = equals('x')
|
11
|
-
assert matcher.matches?(['x'])
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_should_not_match_object_that_does_not_equal_value
|
15
|
-
matcher = equals('x')
|
16
|
-
assert !matcher.matches?(['y'])
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_should_describe_matcher
|
20
|
-
matcher = equals('x')
|
21
|
-
assert_equal %("x"), matcher.mocha_inspect
|
22
|
-
end
|
23
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
require File.expand_path('../../../test_helper', __FILE__)
|
2
|
-
require 'mocha/parameter_matchers/equivalent_uri'
|
3
|
-
|
4
|
-
class EquivalentUriMatchesTest < Mocha::TestCase
|
5
|
-
include Mocha::ParameterMatchers
|
6
|
-
|
7
|
-
def test_should_match_identical_uri
|
8
|
-
matcher = equivalent_uri('http://example.com/foo?a=1&b=2')
|
9
|
-
assert matcher.matches?(['http://example.com/foo?a=1&b=2'])
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_should_match_uri_with_rearranged_query_string
|
13
|
-
matcher = equivalent_uri('http://example.com/foo?b=2&a=1')
|
14
|
-
assert matcher.matches?(['http://example.com/foo?a=1&b=2'])
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_should_not_match_uri_with_different_query_string
|
18
|
-
matcher = equivalent_uri('http://example.com/foo?a=1')
|
19
|
-
assert !matcher.matches?(['http://example.com/foo?a=1&b=2'])
|
20
|
-
end
|
21
|
-
|
22
|
-
def test_should_not_match_uri_when_no_query_string_expected
|
23
|
-
matcher = equivalent_uri('http://example.com/foo')
|
24
|
-
assert !matcher.matches?(['http://example.com/foo?a=1&b=2'])
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_should_not_match_uri_with_different_domain
|
28
|
-
matcher = equivalent_uri('http://a.example.com/foo?a=1&b=2')
|
29
|
-
assert !matcher.matches?(['http://b.example.com/foo?a=1&b=2'])
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_should_match_uri_without_scheme_and_domain
|
33
|
-
matcher = equivalent_uri('/foo?a=1&b=2')
|
34
|
-
assert matcher.matches?(['/foo?a=1&b=2'])
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_should_match_uri_with_query_string_containing_blank_value
|
38
|
-
matcher = equivalent_uri('http://example.com/foo?a=&b=2')
|
39
|
-
assert matcher.matches?(['http://example.com/foo?a=&b=2'])
|
40
|
-
end
|
41
|
-
end
|