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
@@ -6,7 +6,6 @@ require 'mocha/expectation_error_factory'
|
|
6
6
|
require 'mocha/names'
|
7
7
|
|
8
8
|
class ObjectMethodsTest < Mocha::TestCase
|
9
|
-
|
10
9
|
def setup
|
11
10
|
Mocha::Mockery.setup
|
12
11
|
@object = Object.new.extend(Mocha::ObjectMethods)
|
@@ -29,15 +28,15 @@ class ObjectMethodsTest < Mocha::TestCase
|
|
29
28
|
end
|
30
29
|
|
31
30
|
def test_should_reuse_existing_mocha
|
32
|
-
|
33
|
-
|
34
|
-
assert_equal
|
31
|
+
mocha1 = @object.mocha
|
32
|
+
mocha2 = @object.mocha
|
33
|
+
assert_equal mocha1, mocha2
|
35
34
|
end
|
36
35
|
|
37
36
|
def test_should_reuse_existing_mocha_even_if_instantiate_is_false
|
38
|
-
|
39
|
-
|
40
|
-
assert_equal
|
37
|
+
mocha1 = @object.mocha
|
38
|
+
mocha2 = @object.mocha(false)
|
39
|
+
assert_equal mocha1, mocha2
|
41
40
|
end
|
42
41
|
|
43
42
|
def test_should_reset_mocha
|
@@ -60,5 +59,4 @@ class ObjectMethodsTest < Mocha::TestCase
|
|
60
59
|
klass = Class.new { def self.method_x; end }
|
61
60
|
assert_equal klass._method(:method_x), klass.method(:method_x)
|
62
61
|
end
|
63
|
-
|
64
62
|
end
|
@@ -5,7 +5,6 @@ require 'mocha/inspect'
|
|
5
5
|
require 'stub_matcher'
|
6
6
|
|
7
7
|
class AllOfTest < Mocha::TestCase
|
8
|
-
|
9
8
|
include Mocha::ParameterMatchers
|
10
9
|
|
11
10
|
def test_should_match_if_all_matchers_match
|
@@ -22,5 +21,4 @@ class AllOfTest < Mocha::TestCase
|
|
22
21
|
matcher = all_of(Stub::Matcher.new(true), Stub::Matcher.new(false), Stub::Matcher.new(true))
|
23
22
|
assert_equal 'all_of(matcher(true), matcher(false), matcher(true))', matcher.mocha_inspect
|
24
23
|
end
|
25
|
-
|
26
24
|
end
|
@@ -5,7 +5,6 @@ require 'mocha/inspect'
|
|
5
5
|
require 'stub_matcher'
|
6
6
|
|
7
7
|
class AnyOfTest < Mocha::TestCase
|
8
|
-
|
9
8
|
include Mocha::ParameterMatchers
|
10
9
|
|
11
10
|
def test_should_match_if_any_matchers_match
|
@@ -22,5 +21,4 @@ class AnyOfTest < Mocha::TestCase
|
|
22
21
|
matcher = any_of(Stub::Matcher.new(false), Stub::Matcher.new(true), Stub::Matcher.new(false))
|
23
22
|
assert_equal 'any_of(matcher(false), matcher(true), matcher(false))', matcher.mocha_inspect
|
24
23
|
end
|
25
|
-
|
26
24
|
end
|
@@ -4,18 +4,16 @@ require 'mocha/parameter_matchers/anything'
|
|
4
4
|
require 'mocha/inspect'
|
5
5
|
|
6
6
|
class AnythingTest < Mocha::TestCase
|
7
|
-
|
8
7
|
include Mocha::ParameterMatchers
|
9
8
|
|
10
9
|
def test_should_match_anything
|
11
10
|
matcher = anything
|
12
11
|
assert matcher.matches?([:something])
|
13
|
-
assert matcher.matches?([{'x' => 'y'}])
|
12
|
+
assert matcher.matches?([{ 'x' => 'y' }])
|
14
13
|
end
|
15
14
|
|
16
15
|
def test_should_describe_matcher
|
17
16
|
matcher = anything
|
18
|
-
assert_equal
|
17
|
+
assert_equal 'anything', matcher.mocha_inspect
|
19
18
|
end
|
20
|
-
|
21
19
|
end
|
@@ -4,7 +4,6 @@ require 'mocha/parameter_matchers/equals'
|
|
4
4
|
require 'mocha/inspect'
|
5
5
|
|
6
6
|
class EqualsTest < Mocha::TestCase
|
7
|
-
|
8
7
|
include Mocha::ParameterMatchers
|
9
8
|
|
10
9
|
def test_should_match_object_that_equals_value
|
@@ -19,7 +18,6 @@ class EqualsTest < Mocha::TestCase
|
|
19
18
|
|
20
19
|
def test_should_describe_matcher
|
21
20
|
matcher = equals('x')
|
22
|
-
assert_equal %
|
21
|
+
assert_equal %("x"), matcher.mocha_inspect
|
23
22
|
end
|
24
|
-
|
25
23
|
end
|
@@ -5,7 +5,6 @@ require 'mocha/parameter_matchers/object'
|
|
5
5
|
require 'mocha/inspect'
|
6
6
|
|
7
7
|
class HasEntriesTest < Mocha::TestCase
|
8
|
-
|
9
8
|
include Mocha::ParameterMatchers
|
10
9
|
|
11
10
|
def test_should_match_hash_including_specified_entries
|
@@ -23,7 +22,9 @@ class HasEntriesTest < Mocha::TestCase
|
|
23
22
|
description = matcher.mocha_inspect
|
24
23
|
matches = /has_entries\((.*)\)/.match(description)
|
25
24
|
assert_not_nil matches[0]
|
25
|
+
# rubocop:disable Security/Eval
|
26
26
|
entries = eval(matches[1], binding, __FILE__, __LINE__)
|
27
|
+
# rubocop:enable Security/Eval
|
27
28
|
assert_equal 'value_1', entries[:key_1]
|
28
29
|
assert_equal 'value_2', entries[:key_2]
|
29
30
|
end
|
@@ -47,5 +48,4 @@ class HasEntriesTest < Mocha::TestCase
|
|
47
48
|
matcher = has_entries(:key_1 => equals('value_2'), :key_2 => equals('value_2'), :key_3 => equals('value_3'))
|
48
49
|
assert !matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
|
49
50
|
end
|
50
|
-
|
51
51
|
end
|
@@ -6,7 +6,6 @@ require 'mocha/parameter_matchers/equals'
|
|
6
6
|
require 'mocha/inspect'
|
7
7
|
|
8
8
|
class HasEntryTest < Mocha::TestCase
|
9
|
-
|
10
9
|
include Mocha::ParameterMatchers
|
11
10
|
|
12
11
|
def test_should_match_hash_including_specified_key_value_pair
|
@@ -62,7 +61,7 @@ class HasEntryTest < Mocha::TestCase
|
|
62
61
|
def test_should_not_match_object_that_doesnt_respond_to_keys
|
63
62
|
matcher = has_entry(:key_1 => equals('value_2'))
|
64
63
|
object = Class.new do
|
65
|
-
def [](
|
64
|
+
def [](_key)
|
66
65
|
'value_2'
|
67
66
|
end
|
68
67
|
end.new
|
@@ -81,49 +80,49 @@ class HasEntryTest < Mocha::TestCase
|
|
81
80
|
|
82
81
|
def test_should_raise_argument_error_if_single_argument_is_not_a_hash
|
83
82
|
e = assert_raises(ArgumentError) do
|
84
|
-
has_entry(
|
83
|
+
has_entry([])
|
85
84
|
end
|
86
|
-
assert_equal
|
85
|
+
assert_equal 'Argument is not a Hash.', e.message
|
87
86
|
end
|
88
87
|
|
89
88
|
def test_should_raise_argument_error_if_no_entries_are_supplied
|
90
89
|
e = assert_raises(ArgumentError) do
|
91
90
|
has_entry({})
|
92
91
|
end
|
93
|
-
assert_equal
|
92
|
+
assert_equal 'Argument has no entries.', e.message
|
94
93
|
end
|
95
94
|
|
96
95
|
def test_should_raise_argument_error_if_multiple_entries_are_supplied
|
97
96
|
e = assert_raises(ArgumentError) do
|
98
97
|
has_entry(:key_1 => 'value_1', :key_2 => 'value_2')
|
99
98
|
end
|
100
|
-
assert_equal
|
99
|
+
assert_equal 'Argument has multiple entries. Use Mocha::ParameterMatchers#has_entries instead.', e.message
|
101
100
|
end
|
102
101
|
|
103
102
|
def test_should_raise_argument_error_if_more_than_two_arguments_are_supplied
|
104
103
|
e = assert_raises(ArgumentError) do
|
105
104
|
has_entry(1, 2, 3)
|
106
105
|
end
|
107
|
-
assert_equal
|
106
|
+
assert_equal 'Too many arguments; use either a single argument (must be a Hash) or two arguments (a key and a value).', e.message
|
108
107
|
end
|
109
108
|
|
110
109
|
def test_should_match_array_as_key
|
111
110
|
matcher = has_entry([:key_1, :key_2] => 'value_1')
|
112
|
-
assert matcher.matches?([{[:key_1, :key_2] => 'value_1', :key_3 => 'value_2'}])
|
111
|
+
assert matcher.matches?([{ [:key_1, :key_2] => 'value_1', :key_3 => 'value_2' }])
|
113
112
|
end
|
114
113
|
|
115
114
|
def test_should_match_array_as_value
|
116
|
-
matcher = has_entry(:key_1 => [
|
117
|
-
assert matcher.matches?([{:key_1 => [
|
115
|
+
matcher = has_entry(:key_1 => %w[value_1 value_2])
|
116
|
+
assert matcher.matches?([{ :key_1 => %w[value_1 value_2] }])
|
118
117
|
end
|
119
118
|
|
120
119
|
def test_should_match_hash_as_value_and_key
|
121
|
-
matcher = has_entry({
|
122
|
-
assert matcher.matches?([{{:key_1 => 'value_1', :key_2 => 'value_2'} => {:key_3 => 'value_3', :key_4 => 'value_4'}, :key_5 => 'value_5'}])
|
120
|
+
matcher = has_entry({ :key_1 => 'value_1', :key_2 => 'value_2' } => { :key_3 => 'value_3', :key_4 => 'value_4' })
|
121
|
+
assert matcher.matches?([{ { :key_1 => 'value_1', :key_2 => 'value_2' } => { :key_3 => 'value_3', :key_4 => 'value_4' }, :key_5 => 'value_5' }])
|
123
122
|
end
|
124
123
|
|
125
124
|
def test_should_match_matcher_as_value_and_key
|
126
|
-
matcher = has_entry(
|
127
|
-
assert matcher.matches?([{{:key_1 => 'value_1', :key_2 => 'value_2'} => {:key_3 => 'value_3', :key_4 => 'value_4'}, :key_5 => 'value_5'}])
|
125
|
+
matcher = has_entry(has_entry(:key_1 => 'value_1') => has_entry(:key_3 => 'value_3'))
|
126
|
+
assert matcher.matches?([{ { :key_1 => 'value_1', :key_2 => 'value_2' } => { :key_3 => 'value_3', :key_4 => 'value_4' }, :key_5 => 'value_5' }])
|
128
127
|
end
|
129
128
|
end
|
@@ -6,7 +6,6 @@ require 'mocha/parameter_matchers/equals'
|
|
6
6
|
require 'mocha/inspect'
|
7
7
|
|
8
8
|
class HasValueTest < Mocha::TestCase
|
9
|
-
|
10
9
|
include Mocha::ParameterMatchers
|
11
10
|
|
12
11
|
def test_should_match_hash_including_specified_value
|
@@ -53,5 +52,4 @@ class HasValueTest < Mocha::TestCase
|
|
53
52
|
matcher = has_value('value_1')
|
54
53
|
assert !matcher.matches?(['value_1'])
|
55
54
|
end
|
56
|
-
|
57
55
|
end
|
@@ -7,7 +7,6 @@ require 'mocha/parameter_matchers/regexp_matches'
|
|
7
7
|
require 'mocha/inspect'
|
8
8
|
|
9
9
|
class IncludesTest < Mocha::TestCase
|
10
|
-
|
11
10
|
include Mocha::ParameterMatchers
|
12
11
|
|
13
12
|
def test_should_match_object_including_value
|
@@ -37,12 +36,12 @@ class IncludesTest < Mocha::TestCase
|
|
37
36
|
|
38
37
|
def test_should_describe_matcher_with_one_item
|
39
38
|
matcher = includes(:x)
|
40
|
-
assert_equal
|
39
|
+
assert_equal 'includes(:x)', matcher.mocha_inspect
|
41
40
|
end
|
42
41
|
|
43
42
|
def test_should_describe_matcher_with_multiple_items
|
44
43
|
matcher = includes(:x, :y, :z)
|
45
|
-
assert_equal
|
44
|
+
assert_equal 'includes(:x, :y, :z)', matcher.mocha_inspect
|
46
45
|
end
|
47
46
|
|
48
47
|
def test_should_not_raise_error_on_emtpy_arguments
|
@@ -67,12 +66,12 @@ class IncludesTest < Mocha::TestCase
|
|
67
66
|
|
68
67
|
def test_should_match_object_including_value_which_matches_nested_matcher
|
69
68
|
matcher = includes(has_key(:key))
|
70
|
-
assert matcher.matches?([[:non_matching_element, {:key => 'value'}]])
|
69
|
+
assert matcher.matches?([[:non_matching_element, { :key => 'value' }]])
|
71
70
|
end
|
72
71
|
|
73
72
|
def test_should_not_match_object_which_doesnt_include_value_that_matches_nested_matcher
|
74
73
|
matcher = includes(has_key(:key))
|
75
|
-
assert !matcher.matches?([[:non_matching_element, {:other_key => 'other-value'}]])
|
74
|
+
assert !matcher.matches?([[:non_matching_element, { :other_key => 'other-value' }]])
|
76
75
|
end
|
77
76
|
|
78
77
|
def test_should_match_string_argument_containing_substring
|
@@ -87,21 +86,21 @@ class IncludesTest < Mocha::TestCase
|
|
87
86
|
|
88
87
|
def test_should_match_hash_argument_containing_given_key
|
89
88
|
matcher = includes(:key)
|
90
|
-
assert matcher.matches?([{:thing => 1, :key => 2}])
|
89
|
+
assert matcher.matches?([{ :thing => 1, :key => 2 }])
|
91
90
|
end
|
92
91
|
|
93
92
|
def test_should_not_match_hash_argument_missing_given_key
|
94
93
|
matcher = includes(:key)
|
95
|
-
assert !matcher.matches?([{:thing => 1, :other => :key}])
|
94
|
+
assert !matcher.matches?([{ :thing => 1, :other => :key }])
|
96
95
|
end
|
97
96
|
|
98
97
|
def test_should_match_hash_when_nested_matcher_matches_key
|
99
98
|
matcher = includes(regexp_matches(/ar/))
|
100
|
-
assert matcher.matches?([{'foo' => 1, 'bar' => 2}])
|
99
|
+
assert matcher.matches?([{ 'foo' => 1, 'bar' => 2 }])
|
101
100
|
end
|
102
101
|
|
103
102
|
def test_should_not_match_hash_when_nested_matcher_doesn_not_match_key
|
104
103
|
matcher = includes(regexp_matches(/az/))
|
105
|
-
assert !matcher.matches?([{'foo' => 1, 'bar' => 2}])
|
104
|
+
assert !matcher.matches?([{ 'foo' => 1, 'bar' => 2 }])
|
106
105
|
end
|
107
106
|
end
|
@@ -4,7 +4,6 @@ require 'mocha/parameter_matchers/instance_of'
|
|
4
4
|
require 'mocha/inspect'
|
5
5
|
|
6
6
|
class InstanceOfTest < Mocha::TestCase
|
7
|
-
|
8
7
|
include Mocha::ParameterMatchers
|
9
8
|
|
10
9
|
def test_should_match_object_that_is_an_instance_of_specified_class
|
@@ -19,7 +18,6 @@ class InstanceOfTest < Mocha::TestCase
|
|
19
18
|
|
20
19
|
def test_should_describe_matcher
|
21
20
|
matcher = instance_of(String)
|
22
|
-
assert_equal
|
21
|
+
assert_equal 'instance_of(String)', matcher.mocha_inspect
|
23
22
|
end
|
24
|
-
|
25
23
|
end
|
@@ -4,7 +4,6 @@ require 'mocha/parameter_matchers/is_a'
|
|
4
4
|
require 'mocha/inspect'
|
5
5
|
|
6
6
|
class IsATest < Mocha::TestCase
|
7
|
-
|
8
7
|
include Mocha::ParameterMatchers
|
9
8
|
|
10
9
|
def test_should_match_object_that_is_a_specified_class
|
@@ -19,7 +18,6 @@ class IsATest < Mocha::TestCase
|
|
19
18
|
|
20
19
|
def test_should_describe_matcher
|
21
20
|
matcher = is_a(Integer)
|
22
|
-
assert_equal
|
21
|
+
assert_equal 'is_a(Integer)', matcher.mocha_inspect
|
23
22
|
end
|
24
|
-
|
25
23
|
end
|
@@ -4,7 +4,6 @@ require 'mocha/parameter_matchers/kind_of'
|
|
4
4
|
require 'mocha/inspect'
|
5
5
|
|
6
6
|
class KindOfTest < Mocha::TestCase
|
7
|
-
|
8
7
|
include Mocha::ParameterMatchers
|
9
8
|
|
10
9
|
def test_should_match_object_that_is_a_kind_of_specified_class
|
@@ -19,7 +18,6 @@ class KindOfTest < Mocha::TestCase
|
|
19
18
|
|
20
19
|
def test_should_describe_matcher
|
21
20
|
matcher = kind_of(Integer)
|
22
|
-
assert_equal
|
21
|
+
assert_equal 'kind_of(Integer)', matcher.mocha_inspect
|
23
22
|
end
|
24
|
-
|
25
23
|
end
|
@@ -5,7 +5,6 @@ require 'mocha/inspect'
|
|
5
5
|
require 'stub_matcher'
|
6
6
|
|
7
7
|
class NotTest < Mocha::TestCase
|
8
|
-
|
9
8
|
include Mocha::ParameterMatchers
|
10
9
|
|
11
10
|
def test_should_match_if_matcher_does_not_match
|
@@ -22,5 +21,4 @@ class NotTest < Mocha::TestCase
|
|
22
21
|
matcher = Not(Stub::Matcher.new(true))
|
23
22
|
assert_equal 'Not(matcher(true))', matcher.mocha_inspect
|
24
23
|
end
|
25
|
-
|
26
24
|
end
|
@@ -4,7 +4,6 @@ require 'mocha/parameter_matchers/regexp_matches'
|
|
4
4
|
require 'mocha/inspect'
|
5
5
|
|
6
6
|
class RegexpMatchesTest < Mocha::TestCase
|
7
|
-
|
8
7
|
include Mocha::ParameterMatchers
|
9
8
|
|
10
9
|
def test_should_match_parameter_matching_regular_expression
|
@@ -19,7 +18,7 @@ class RegexpMatchesTest < Mocha::TestCase
|
|
19
18
|
|
20
19
|
def test_should_describe_matcher
|
21
20
|
matcher = regexp_matches(/oo/)
|
22
|
-
assert_equal
|
21
|
+
assert_equal 'regexp_matches(/oo/)', matcher.mocha_inspect
|
23
22
|
end
|
24
23
|
|
25
24
|
def test_should_not_raise_error_on_empty_arguments
|
@@ -5,7 +5,6 @@ require 'mocha/parameter_matchers/object'
|
|
5
5
|
require 'mocha/inspect'
|
6
6
|
|
7
7
|
class RespondsWithTest < Mocha::TestCase
|
8
|
-
|
9
8
|
include Mocha::ParameterMatchers
|
10
9
|
|
11
10
|
def test_should_match_parameter_responding_with_expected_value
|
@@ -20,7 +19,15 @@ class RespondsWithTest < Mocha::TestCase
|
|
20
19
|
|
21
20
|
def test_should_match_parameter_responding_with_nested_responds_with_matcher
|
22
21
|
matcher = responds_with(:foo, responds_with(:bar, 'baz'))
|
23
|
-
object = Class.new
|
22
|
+
object = Class.new do
|
23
|
+
def foo
|
24
|
+
Class.new do
|
25
|
+
def bar
|
26
|
+
'baz'
|
27
|
+
end
|
28
|
+
end.new
|
29
|
+
end
|
30
|
+
end.new
|
24
31
|
assert matcher.matches?([object])
|
25
32
|
end
|
26
33
|
|
@@ -28,5 +35,4 @@ class RespondsWithTest < Mocha::TestCase
|
|
28
35
|
matcher = responds_with(:foo, :bar)
|
29
36
|
assert_equal 'responds_with(:foo, :bar)', matcher.mocha_inspect
|
30
37
|
end
|
31
|
-
|
32
38
|
end
|
@@ -4,7 +4,6 @@ require 'mocha/parameter_matchers/yaml_equivalent'
|
|
4
4
|
require 'mocha/inspect'
|
5
5
|
|
6
6
|
class YamlEquivalentTest < Mocha::TestCase
|
7
|
-
|
8
7
|
include Mocha::ParameterMatchers
|
9
8
|
|
10
9
|
def test_should_match_parameter_matching_yaml_representation_of_object
|
@@ -19,7 +18,6 @@ class YamlEquivalentTest < Mocha::TestCase
|
|
19
18
|
|
20
19
|
def test_should_describe_matcher
|
21
20
|
matcher = yaml_equivalent([1, 2, 3])
|
22
|
-
assert_equal
|
21
|
+
assert_equal 'yaml_equivalent([1, 2, 3])', matcher.mocha_inspect
|
23
22
|
end
|
24
|
-
|
25
23
|
end
|