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,8 +2,7 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class FailureMessagesTest < Mocha::TestCase
|
5
|
-
|
6
|
-
OBJECT_ADDRESS_PATTERN = '0x[0-9A-Fa-f]{1,12}'
|
5
|
+
OBJECT_ADDRESS_PATTERN = '0x[0-9A-Fa-f]{1,12}'.freeze
|
7
6
|
|
8
7
|
include AcceptanceTest
|
9
8
|
|
@@ -48,7 +47,7 @@ class FailureMessagesTest < Mocha::TestCase
|
|
48
47
|
|
49
48
|
def test_should_display_mock_address_when_expectation_was_on_unnamed_mock
|
50
49
|
test_result = run_as_test do
|
51
|
-
foo = mock
|
50
|
+
foo = mock
|
52
51
|
foo.expects(:bar)
|
53
52
|
end
|
54
53
|
assert_match Regexp.new("#<Mock:#{OBJECT_ADDRESS_PATTERN}>"), test_result.failures[0].message
|
@@ -58,7 +57,6 @@ class FailureMessagesTest < Mocha::TestCase
|
|
58
57
|
test_result = run_as_test do
|
59
58
|
'Foo'.expects(:bar)
|
60
59
|
end
|
61
|
-
assert_match Regexp.new(%
|
60
|
+
assert_match Regexp.new(%("Foo")), test_result.failures[0].message
|
62
61
|
end
|
63
|
-
|
64
62
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class Issue65Test < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -16,48 +15,51 @@ class Issue65Test < Mocha::TestCase
|
|
16
15
|
def test_expectations_on_class_methods_on_same_class_should_be_verified_in_consecutive_tests
|
17
16
|
klass = Class.new do
|
18
17
|
def self.foo; end
|
18
|
+
|
19
19
|
def self.bar; end
|
20
20
|
end
|
21
|
-
|
21
|
+
test1 = run_as_test do
|
22
22
|
klass.expects(:foo)
|
23
23
|
klass.foo
|
24
24
|
end
|
25
|
-
assert_passed(
|
26
|
-
|
25
|
+
assert_passed(test1)
|
26
|
+
test2 = run_as_test do
|
27
27
|
klass.expects(:bar)
|
28
28
|
end
|
29
|
-
assert_failed(
|
29
|
+
assert_failed(test2)
|
30
30
|
end
|
31
31
|
|
32
32
|
def test_expectations_on_any_instance_methods_on_same_class_should_be_verified_in_consecutive_tests
|
33
33
|
klass = Class.new do
|
34
34
|
def foo; end
|
35
|
+
|
35
36
|
def bar; end
|
36
37
|
end
|
37
|
-
|
38
|
+
test1 = run_as_test do
|
38
39
|
klass.any_instance.expects(:foo)
|
39
40
|
klass.new.foo
|
40
41
|
end
|
41
|
-
assert_passed(
|
42
|
-
|
42
|
+
assert_passed(test1)
|
43
|
+
test2 = run_as_test do
|
43
44
|
klass.any_instance.expects(:bar)
|
44
45
|
end
|
45
|
-
assert_failed(
|
46
|
+
assert_failed(test2)
|
46
47
|
end
|
47
48
|
|
48
49
|
def test_expectations_on_instance_methods_on_same_object_should_be_verified_in_consecutive_tests
|
49
50
|
instance = Class.new do
|
50
51
|
def foo; end
|
52
|
+
|
51
53
|
def bar; end
|
52
54
|
end.new
|
53
|
-
|
55
|
+
test1 = run_as_test do
|
54
56
|
instance.expects(:foo)
|
55
57
|
instance.foo
|
56
58
|
end
|
57
|
-
assert_passed(
|
58
|
-
|
59
|
+
assert_passed(test1)
|
60
|
+
test2 = run_as_test do
|
59
61
|
instance.expects(:bar)
|
60
62
|
end
|
61
|
-
assert_failed(
|
63
|
+
assert_failed(test2)
|
62
64
|
end
|
63
65
|
end
|
@@ -2,11 +2,12 @@ require File.expand_path('../../test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class MochaExampleTest < Mocha::TestCase
|
5
|
-
|
6
5
|
class Rover
|
7
|
-
|
8
6
|
def initialize(left_track, right_track, steps_per_metre, steps_per_degree)
|
9
|
-
@left_track
|
7
|
+
@left_track = left_track
|
8
|
+
@right_track = right_track
|
9
|
+
@steps_per_metre = steps_per_metre
|
10
|
+
@steps_per_degree = steps_per_degree
|
10
11
|
end
|
11
12
|
|
12
13
|
def forward(metres)
|
@@ -30,9 +31,8 @@ class MochaExampleTest < Mocha::TestCase
|
|
30
31
|
end
|
31
32
|
|
32
33
|
def wait
|
33
|
-
while
|
34
|
+
while @left_track.moving? || @right_track.moving?; end
|
34
35
|
end
|
35
|
-
|
36
36
|
end
|
37
37
|
|
38
38
|
def test_should_step_both_tracks_forward_ten_steps
|
@@ -94,5 +94,4 @@ class MochaExampleTest < Mocha::TestCase
|
|
94
94
|
|
95
95
|
rover.left(90)
|
96
96
|
end
|
97
|
-
|
98
97
|
end
|
@@ -3,7 +3,6 @@ require 'mocha/setup'
|
|
3
3
|
require 'execution_point'
|
4
4
|
|
5
5
|
class MochaTestResultTest < Mocha::TestCase
|
6
|
-
|
7
6
|
include AcceptanceTest
|
8
7
|
|
9
8
|
def setup
|
@@ -16,7 +15,7 @@ class MochaTestResultTest < Mocha::TestCase
|
|
16
15
|
|
17
16
|
def test_should_include_expectation_verification_in_assertion_count
|
18
17
|
test_result = run_as_test do
|
19
|
-
object = mock
|
18
|
+
object = mock
|
20
19
|
object.expects(:message)
|
21
20
|
object.message
|
22
21
|
end
|
@@ -32,7 +31,7 @@ class MochaTestResultTest < Mocha::TestCase
|
|
32
31
|
|
33
32
|
def test_should_not_include_stubbing_expectation_verification_in_assertion_count
|
34
33
|
test_result = run_as_test do
|
35
|
-
object = mock
|
34
|
+
object = mock
|
36
35
|
object.stubs(:message)
|
37
36
|
object.message
|
38
37
|
end
|
@@ -41,7 +40,7 @@ class MochaTestResultTest < Mocha::TestCase
|
|
41
40
|
|
42
41
|
def test_should_include_expectation_verification_failure_in_failure_count
|
43
42
|
test_result = run_as_test do
|
44
|
-
object = mock
|
43
|
+
object = mock
|
45
44
|
object.expects(:message)
|
46
45
|
end
|
47
46
|
assert_equal 1, test_result.failure_count
|
@@ -49,7 +48,7 @@ class MochaTestResultTest < Mocha::TestCase
|
|
49
48
|
|
50
49
|
def test_should_include_unexpected_verification_failure_in_failure_count
|
51
50
|
test_result = run_as_test do
|
52
|
-
object = mock
|
51
|
+
object = mock
|
53
52
|
object.message
|
54
53
|
end
|
55
54
|
assert_equal 1, test_result.failure_count
|
@@ -62,10 +61,11 @@ class MochaTestResultTest < Mocha::TestCase
|
|
62
61
|
assert_equal 1, test_result.failure_count
|
63
62
|
end
|
64
63
|
|
64
|
+
# rubocop:disable Style/Semicolon
|
65
65
|
def test_should_display_backtrace_indicating_line_number_where_unexpected_method_was_called
|
66
66
|
execution_point = nil
|
67
67
|
test_result = run_as_test do
|
68
|
-
object = mock
|
68
|
+
object = mock
|
69
69
|
execution_point = ExecutionPoint.current; object.message
|
70
70
|
end
|
71
71
|
assert_equal 1, test_result.failure_count
|
@@ -80,5 +80,5 @@ class MochaTestResultTest < Mocha::TestCase
|
|
80
80
|
assert_equal 1, test_result.failure_count
|
81
81
|
assert_equal execution_point, ExecutionPoint.new(test_result.failures[0].location)
|
82
82
|
end
|
83
|
-
|
83
|
+
# rubocop:enable Style/Semicolon
|
84
84
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class MockTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -15,7 +14,7 @@ class MockTest < Mocha::TestCase
|
|
15
14
|
|
16
15
|
def test_should_build_mock_and_explicitly_add_an_expectation_which_is_satisfied
|
17
16
|
test_result = run_as_test do
|
18
|
-
foo = mock
|
17
|
+
foo = mock
|
19
18
|
foo.expects(:bar)
|
20
19
|
foo.bar
|
21
20
|
end
|
@@ -24,7 +23,7 @@ class MockTest < Mocha::TestCase
|
|
24
23
|
|
25
24
|
def test_should_build_mock_and_explicitly_add_an_expectation_which_is_not_satisfied
|
26
25
|
test_result = run_as_test do
|
27
|
-
foo = mock
|
26
|
+
foo = mock
|
28
27
|
foo.expects(:bar)
|
29
28
|
end
|
30
29
|
assert_failed(test_result)
|
@@ -96,5 +95,4 @@ class MockTest < Mocha::TestCase
|
|
96
95
|
end
|
97
96
|
assert_failed(test_result)
|
98
97
|
end
|
99
|
-
|
100
98
|
end
|
@@ -3,7 +3,6 @@ require 'mocha/setup'
|
|
3
3
|
require 'deprecation_disabler'
|
4
4
|
|
5
5
|
class MockWithInitializerBlockTest < Mocha::TestCase
|
6
|
-
|
7
6
|
include AcceptanceTest
|
8
7
|
|
9
8
|
def setup
|
@@ -54,5 +53,4 @@ class MockWithInitializerBlockTest < Mocha::TestCase
|
|
54
53
|
end
|
55
54
|
assert_passed(test_result)
|
56
55
|
end
|
57
|
-
|
58
56
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class MockedMethodDispatchTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -74,5 +73,4 @@ class MockedMethodDispatchTest < Mocha::TestCase
|
|
74
73
|
end
|
75
74
|
assert_passed(test_result)
|
76
75
|
end
|
77
|
-
|
78
76
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class FailureMessageTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -21,10 +20,10 @@ class FailureMessageTest < Mocha::TestCase
|
|
21
20
|
end
|
22
21
|
assert_failed(test_result)
|
23
22
|
assert_equal [
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
23
|
+
'unexpected invocation: #<Mock:mock>.method_one()',
|
24
|
+
'unsatisfied expectations:',
|
25
|
+
'- expected exactly once, invoked twice: #<Mock:mock>.method_one(any_parameters)'
|
26
|
+
], test_result.failure_message_lines
|
28
27
|
end
|
29
28
|
|
30
29
|
def test_should_report_satisfied_expectations_as_well_as_unsatisfied_expectations
|
@@ -37,11 +36,11 @@ class FailureMessageTest < Mocha::TestCase
|
|
37
36
|
end
|
38
37
|
assert_failed(test_result)
|
39
38
|
assert_equal [
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
39
|
+
'not all expectations were satisfied',
|
40
|
+
'unsatisfied expectations:',
|
41
|
+
'- expected exactly twice, invoked once: #<Mock:mock>.method_two(any_parameters)',
|
42
|
+
'satisfied expectations:',
|
43
|
+
'- expected exactly once, invoked once: #<Mock:mock>.method_one(any_parameters)'
|
45
44
|
], test_result.failure_message_lines
|
46
45
|
end
|
47
46
|
|
@@ -57,12 +56,12 @@ class FailureMessageTest < Mocha::TestCase
|
|
57
56
|
end
|
58
57
|
assert_failed(test_result)
|
59
58
|
assert_equal [
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
59
|
+
'not all expectations were satisfied',
|
60
|
+
'unsatisfied expectations:',
|
61
|
+
'- expected exactly 3 times, invoked twice: #<Mock:mock>.method_three(any_parameters)',
|
62
|
+
'satisfied expectations:',
|
63
|
+
'- expected exactly twice, invoked twice: #<Mock:mock>.method_two(any_parameters)',
|
64
|
+
'- expected exactly once, invoked once: #<Mock:mock>.method_one(any_parameters)'
|
65
|
+
], test_result.failure_message_lines
|
67
66
|
end
|
68
67
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class OptionalParameterMatcherTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -66,5 +65,4 @@ class OptionalParameterMatcherTest < Mocha::TestCase
|
|
66
65
|
end
|
67
66
|
assert_failed(test_result)
|
68
67
|
end
|
69
|
-
|
70
68
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class ParameterMatcherTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -264,7 +263,7 @@ class ParameterMatcherTest < Mocha::TestCase
|
|
264
263
|
def test_should_match_parameter_when_value_is_divisible_by_four
|
265
264
|
test_result = run_as_test do
|
266
265
|
mock = mock()
|
267
|
-
mock.expects(:method).with { |actual_value| actual_value % 4
|
266
|
+
mock.expects(:method).with { |actual_value| (actual_value % 4).zero? }
|
268
267
|
mock.method(8)
|
269
268
|
end
|
270
269
|
assert_passed(test_result)
|
@@ -273,7 +272,7 @@ class ParameterMatcherTest < Mocha::TestCase
|
|
273
272
|
def test_should_not_match_parameter_when_value_is_not_divisible_by_four
|
274
273
|
test_result = run_as_test do
|
275
274
|
mock = mock()
|
276
|
-
mock.expects(:method).with { |actual_value| actual_value % 4
|
275
|
+
mock.expects(:method).with { |actual_value| (actual_value % 4).zero? }
|
277
276
|
mock.method(9)
|
278
277
|
end
|
279
278
|
assert_failed(test_result)
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class PartialMockTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -15,8 +14,8 @@ class PartialMockTest < Mocha::TestCase
|
|
15
14
|
|
16
15
|
def test_should_pass_if_all_expectations_are_satisfied
|
17
16
|
test_result = run_as_test do
|
18
|
-
partial_mock_one =
|
19
|
-
partial_mock_two =
|
17
|
+
partial_mock_one = 'partial_mock_one'
|
18
|
+
partial_mock_two = 'partial_mock_two'
|
20
19
|
|
21
20
|
partial_mock_one.expects(:first)
|
22
21
|
partial_mock_one.expects(:second)
|
@@ -31,8 +30,8 @@ class PartialMockTest < Mocha::TestCase
|
|
31
30
|
|
32
31
|
def test_should_fail_if_all_expectations_are_not_satisfied
|
33
32
|
test_result = run_as_test do
|
34
|
-
partial_mock_one =
|
35
|
-
partial_mock_two =
|
33
|
+
partial_mock_one = 'partial_mock_one'
|
34
|
+
partial_mock_two = 'partial_mock_two'
|
36
35
|
|
37
36
|
partial_mock_one.expects(:first)
|
38
37
|
partial_mock_one.expects(:second)
|
@@ -43,5 +42,4 @@ class PartialMockTest < Mocha::TestCase
|
|
43
42
|
end
|
44
43
|
assert_failed(test_result)
|
45
44
|
end
|
46
|
-
|
47
45
|
end
|
@@ -3,7 +3,6 @@ require 'mocha/setup'
|
|
3
3
|
require 'mocha/ruby_version'
|
4
4
|
|
5
5
|
class PrependTest < Mocha::TestCase
|
6
|
-
|
7
6
|
include AcceptanceTest
|
8
7
|
|
9
8
|
def setup
|
@@ -18,13 +17,13 @@ class PrependTest < Mocha::TestCase
|
|
18
17
|
|
19
18
|
module Mod1
|
20
19
|
def my_method
|
21
|
-
super +
|
20
|
+
super + ' World'
|
22
21
|
end
|
23
22
|
end
|
24
23
|
|
25
24
|
module Mod2
|
26
25
|
def my_method
|
27
|
-
super +
|
26
|
+
super + ' Wide'
|
28
27
|
end
|
29
28
|
end
|
30
29
|
|
@@ -33,7 +32,7 @@ class PrependTest < Mocha::TestCase
|
|
33
32
|
prepend Mod2
|
34
33
|
|
35
34
|
def my_method
|
36
|
-
|
35
|
+
'Hello'
|
37
36
|
end
|
38
37
|
end
|
39
38
|
|
@@ -43,7 +42,7 @@ class PrependTest < Mocha::TestCase
|
|
43
42
|
prepend Mod2
|
44
43
|
|
45
44
|
def my_method
|
46
|
-
|
45
|
+
'Hello'
|
47
46
|
end
|
48
47
|
end
|
49
48
|
end
|
@@ -51,12 +50,12 @@ class PrependTest < Mocha::TestCase
|
|
51
50
|
def test_stubbing_any_instance_with_multiple_prepended_methods
|
52
51
|
assert_snapshot_unchanged(Klass1) do
|
53
52
|
test_result = run_as_test do
|
54
|
-
Klass1.any_instance.stubs(:my_method).returns(
|
55
|
-
assert_equal
|
53
|
+
Klass1.any_instance.stubs(:my_method).returns('Bye World')
|
54
|
+
assert_equal 'Bye World', Klass1.new.my_method
|
56
55
|
end
|
57
56
|
assert_passed(test_result)
|
58
57
|
end
|
59
|
-
assert_equal
|
58
|
+
assert_equal 'Hello World Wide', Klass1.new.my_method
|
60
59
|
end
|
61
60
|
|
62
61
|
def test_stubbing_instance_with_multiple_prepended_methods
|
@@ -64,26 +63,25 @@ class PrependTest < Mocha::TestCase
|
|
64
63
|
|
65
64
|
assert_snapshot_unchanged(object) do
|
66
65
|
test_result = run_as_test do
|
67
|
-
object.stubs(:my_method).returns(
|
68
|
-
assert_equal
|
69
|
-
assert_equal
|
66
|
+
object.stubs(:my_method).returns('Bye World')
|
67
|
+
assert_equal 'Bye World', object.my_method
|
68
|
+
assert_equal 'Hello World Wide', Klass1.new.my_method
|
70
69
|
end
|
71
70
|
assert_passed(test_result)
|
72
71
|
end
|
73
|
-
assert_equal
|
72
|
+
assert_equal 'Hello World Wide', object.my_method
|
74
73
|
end
|
75
74
|
|
76
75
|
def test_stubbing_a_prepended_class_method
|
77
76
|
assert_snapshot_unchanged(Klass2) do
|
78
77
|
test_result = run_as_test do
|
79
|
-
Klass2.stubs(:my_method).returns(
|
80
|
-
assert_equal
|
78
|
+
Klass2.stubs(:my_method).returns('Bye World')
|
79
|
+
assert_equal 'Bye World', Klass2.my_method
|
81
80
|
end
|
82
81
|
assert_passed(test_result)
|
83
82
|
end
|
84
|
-
assert_equal
|
83
|
+
assert_equal 'Hello World Wide', Klass2.my_method
|
85
84
|
end
|
86
85
|
|
87
86
|
end
|
88
|
-
|
89
87
|
end
|