mocha 1.7.0 → 1.10.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/.rubocop_todo.yml +7 -30
- data/CONTRIBUTING.md +4 -9
- data/README.md +55 -27
- data/RELEASE.md +89 -0
- data/Rakefile +15 -16
- data/bin/build-matrix +15 -2
- data/docs/CNAME +1 -0
- data/docs/Mocha.html +254 -0
- data/docs/Mocha/API.html +1287 -0
- data/docs/Mocha/ClassMethods.html +264 -0
- data/docs/Mocha/Configuration.html +1525 -0
- data/docs/Mocha/Expectation.html +2654 -0
- data/docs/Mocha/ExpectationError.html +152 -0
- data/docs/Mocha/ExpectationErrorFactory.html +260 -0
- data/docs/Mocha/Hooks.html +370 -0
- data/docs/Mocha/Integration.html +125 -0
- data/docs/Mocha/Integration/MiniTest.html +123 -0
- data/docs/Mocha/Integration/MiniTest/Adapter.html +164 -0
- data/docs/Mocha/Integration/TestUnit.html +123 -0
- data/docs/Mocha/Integration/TestUnit/Adapter.html +164 -0
- data/docs/Mocha/Mock.html +1237 -0
- data/docs/Mocha/ObjectMethods.html +765 -0
- data/docs/Mocha/ParameterMatchers.html +2961 -0
- data/docs/Mocha/ParameterMatchers/AllOf.html +153 -0
- data/docs/Mocha/ParameterMatchers/AnyOf.html +153 -0
- data/docs/Mocha/ParameterMatchers/AnyParameters.html +153 -0
- data/docs/Mocha/ParameterMatchers/Anything.html +153 -0
- data/docs/Mocha/ParameterMatchers/Base.html +441 -0
- data/docs/Mocha/ParameterMatchers/Equals.html +153 -0
- data/docs/Mocha/ParameterMatchers/EquivalentUri.html +153 -0
- data/docs/Mocha/ParameterMatchers/HasEntries.html +153 -0
- data/docs/Mocha/ParameterMatchers/HasEntry.html +153 -0
- data/docs/Mocha/ParameterMatchers/HasKey.html +153 -0
- data/docs/Mocha/ParameterMatchers/HasValue.html +153 -0
- data/docs/Mocha/ParameterMatchers/Includes.html +153 -0
- data/docs/Mocha/ParameterMatchers/InstanceOf.html +153 -0
- data/docs/Mocha/ParameterMatchers/IsA.html +153 -0
- data/docs/Mocha/ParameterMatchers/KindOf.html +153 -0
- data/docs/Mocha/ParameterMatchers/Not.html +153 -0
- data/docs/Mocha/ParameterMatchers/Optionally.html +153 -0
- data/docs/Mocha/ParameterMatchers/RegexpMatches.html +153 -0
- data/docs/Mocha/ParameterMatchers/RespondsWith.html +153 -0
- data/docs/Mocha/ParameterMatchers/YamlEquivalent.html +153 -0
- data/docs/Mocha/Sequence.html +149 -0
- data/docs/Mocha/StateMachine.html +527 -0
- data/docs/Mocha/StateMachine/State.html +140 -0
- data/docs/Mocha/StateMachine/StatePredicate.html +140 -0
- data/docs/Mocha/StubbingError.html +150 -0
- data/docs/_index.html +519 -0
- data/docs/class_list.html +51 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +496 -0
- data/docs/file.COPYING.html +81 -0
- data/docs/file.MIT-LICENSE.html +85 -0
- data/docs/file.README.html +448 -0
- data/docs/file.RELEASE.html +974 -0
- data/docs/file_list.html +71 -0
- data/docs/frames.html +17 -0
- data/docs/index.html +448 -0
- data/docs/js/app.js +303 -0
- data/docs/js/full_list.js +216 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +635 -0
- data/docs/top-level-namespace.html +118 -0
- data/gemfiles/Gemfile.minitest.5.11.3 +7 -0
- data/init.rb +1 -3
- data/lib/mocha.rb +8 -0
- data/lib/mocha/any_instance_method.rb +11 -53
- data/lib/mocha/api.rb +120 -56
- data/lib/mocha/cardinality.rb +26 -11
- data/lib/mocha/class_methods.rb +17 -15
- data/lib/mocha/configuration.rb +351 -67
- data/lib/mocha/deprecation.rb +2 -1
- data/lib/mocha/detection/test_unit.rb +1 -3
- data/lib/mocha/exception_raiser.rb +2 -1
- data/lib/mocha/expectation.rb +56 -58
- data/lib/mocha/expectation_error.rb +1 -3
- data/lib/mocha/expectation_list.rb +6 -6
- data/lib/mocha/inspect.rb +28 -26
- data/lib/mocha/instance_method.rb +19 -2
- data/lib/mocha/integration.rb +1 -3
- data/lib/mocha/integration/mini_test.rb +7 -0
- data/lib/mocha/integration/test_unit.rb +7 -0
- data/lib/mocha/invocation.rb +73 -0
- data/lib/mocha/macos_version.rb +5 -0
- data/lib/mocha/minitest.rb +6 -1
- data/lib/mocha/mock.rb +46 -31
- data/lib/mocha/mockery.rb +25 -61
- data/lib/mocha/names.rb +1 -1
- data/lib/mocha/object_methods.rb +13 -19
- data/lib/mocha/parameter_matchers.rb +1 -1
- data/lib/mocha/parameter_matchers/all_of.rb +1 -1
- data/lib/mocha/parameter_matchers/any_of.rb +1 -1
- data/lib/mocha/parameter_matchers/equivalent_uri.rb +0 -9
- data/lib/mocha/parameter_matchers/includes.rb +2 -0
- data/lib/mocha/parameter_matchers/instance_methods.rb +18 -0
- data/lib/mocha/raised_exception.rb +11 -0
- data/lib/mocha/return_values.rb +3 -3
- data/lib/mocha/setup.rb +5 -0
- data/lib/mocha/single_return_value.rb +2 -1
- data/lib/mocha/singleton_class.rb +9 -0
- data/lib/mocha/stubbed_method.rb +127 -0
- data/lib/mocha/test_unit.rb +6 -1
- data/lib/mocha/thrower.rb +2 -1
- data/lib/mocha/thrown_object.rb +12 -0
- data/lib/mocha/version.rb +1 -1
- data/mocha.gemspec +3 -6
- data/test/acceptance/acceptance_test_helper.rb +6 -0
- data/test/acceptance/bug_18914_test.rb +0 -1
- data/test/acceptance/bug_21465_test.rb +0 -1
- data/test/acceptance/bug_21563_test.rb +0 -1
- data/test/acceptance/display_matching_invocations_alongside_expectations_test.rb +69 -0
- data/test/acceptance/exception_rescue_test.rb +1 -2
- data/test/acceptance/expectations_on_multiple_methods_test.rb +0 -1
- data/test/acceptance/expected_invocation_count_test.rb +2 -3
- data/test/acceptance/failure_messages_test.rb +0 -1
- data/test/acceptance/issue_272_test.rb +1 -2
- data/test/acceptance/issue_65_test.rb +0 -1
- data/test/acceptance/issue_70_test.rb +0 -1
- data/test/acceptance/mocha_example_test.rb +0 -1
- data/test/acceptance/mocha_test_result_test.rb +0 -1
- data/test/acceptance/mock_built_with_first_argument_type_being_string_test.rb +99 -0
- data/test/acceptance/mock_test.rb +47 -6
- data/test/acceptance/mocked_methods_dispatch_test.rb +0 -1
- data/test/acceptance/multiple_expectations_failure_message_test.rb +0 -1
- data/test/acceptance/optional_parameters_test.rb +0 -1
- data/test/acceptance/parameter_matcher_test.rb +0 -1
- data/test/acceptance/partial_mocks_test.rb +0 -1
- data/test/acceptance/prepend_test.rb +0 -1
- data/test/acceptance/prevent_use_of_mocha_outside_test_test.rb +0 -1
- data/test/acceptance/raise_exception_test.rb +0 -1
- data/test/acceptance/return_value_test.rb +0 -1
- data/test/acceptance/sequence_test.rb +0 -1
- data/test/acceptance/states_test.rb +0 -1
- data/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +1 -2
- data/test/acceptance/stub_any_instance_method_test.rb +20 -1
- data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +0 -1
- data/test/acceptance/stub_class_method_defined_on_class_test.rb +0 -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 +1 -2
- data/test/acceptance/stub_everything_test.rb +0 -1
- data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +0 -1
- 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 +0 -1
- data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +0 -1
- data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +0 -1
- data/test/acceptance/stub_method_defined_on_module_and_aliased_test.rb +0 -1
- data/test/acceptance/stub_module_method_test.rb +0 -1
- data/test/acceptance/stub_test.rb +0 -1
- data/test/acceptance/stubba_example_test.rb +0 -1
- data/test/acceptance/stubba_test_result_test.rb +0 -1
- data/test/acceptance/stubbing_error_backtrace_test.rb +4 -5
- data/test/acceptance/stubbing_frozen_object_test.rb +0 -1
- data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +0 -1
- data/test/acceptance/stubbing_method_unnecessarily_test.rb +5 -5
- data/test/acceptance/stubbing_nil_test.rb +5 -5
- data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +27 -11
- data/test/acceptance/stubbing_non_existent_class_method_test.rb +11 -11
- data/test/acceptance/stubbing_non_existent_instance_method_test.rb +11 -11
- data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +8 -8
- data/test/acceptance/stubbing_non_public_class_method_test.rb +9 -9
- data/test/acceptance/stubbing_non_public_instance_method_test.rb +9 -9
- data/test/acceptance/stubbing_on_non_mock_object_test.rb +5 -5
- data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +0 -1
- data/test/acceptance/throw_test.rb +0 -1
- data/test/acceptance/unexpected_invocation_test.rb +0 -1
- data/test/acceptance/unstubbing_test.rb +0 -1
- data/test/integration/shared_tests.rb +5 -3
- data/test/method_definer.rb +11 -17
- data/test/test_runner.rb +2 -0
- data/test/unit/any_instance_method_test.rb +60 -35
- data/test/unit/cardinality_test.rb +41 -23
- data/test/unit/central_test.rb +0 -1
- data/test/unit/class_methods_test.rb +1 -1
- data/test/unit/configuration_test.rb +12 -12
- data/test/unit/exception_raiser_test.rb +10 -5
- data/test/unit/expectation_list_test.rb +13 -11
- data/test/unit/expectation_test.rb +103 -103
- data/test/unit/instance_method_test.rb +282 -0
- data/test/unit/mock_test.rb +28 -19
- data/test/unit/mockery_test.rb +8 -11
- data/test/unit/module_methods_test.rb +2 -3
- data/test/unit/object_inspect_test.rb +16 -4
- data/test/unit/object_methods_test.rb +3 -2
- data/test/unit/parameter_matchers/equivalent_uri_test.rb +0 -9
- data/test/unit/parameter_matchers/has_entries_test.rb +1 -1
- data/test/unit/parameter_matchers/has_entry_test.rb +1 -1
- data/test/unit/parameter_matchers/has_key_test.rb +1 -1
- data/test/unit/parameter_matchers/has_value_test.rb +1 -1
- data/test/unit/parameter_matchers/includes_test.rb +1 -1
- data/test/unit/parameter_matchers/responds_with_test.rb +1 -1
- data/test/unit/return_values_test.rb +25 -20
- data/test/unit/single_return_value_test.rb +6 -1
- data/test/unit/thrower_test.rb +7 -2
- data/yard-templates/default/layout/html/google_analytics.erb +6 -9
- metadata +78 -61
- data/lib/mocha/class_method.rb +0 -113
- data/lib/mocha/mini_test.rb +0 -5
- data/lib/mocha/module_method.rb +0 -6
- data/lib/mocha/module_methods.rb +0 -10
- data/lib/mocha/parameter_matchers/object.rb +0 -15
- data/lib/mocha/standalone.rb +0 -4
- data/lib/mocha/unexpected_invocation.rb +0 -24
- data/lib/mocha_standalone.rb +0 -4
- data/test/acceptance/mock_with_initializer_block_test.rb +0 -56
- data/test/unit/class_method_test.rb +0 -254
@@ -44,7 +44,7 @@ class ObjectMethodsTest < Mocha::TestCase
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def test_should_use_stubba_instance_method_for_object
|
47
|
-
assert_equal Mocha::InstanceMethod,
|
47
|
+
assert_equal Mocha::InstanceMethod, @object.stubba_method
|
48
48
|
end
|
49
49
|
|
50
50
|
def test_should_stub_self_for_object
|
@@ -52,11 +52,12 @@ class ObjectMethodsTest < Mocha::TestCase
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def test_nobody_expects_the_spanish_inquisition
|
55
|
-
|
55
|
+
assert_raises(Mocha::ExpectationErrorFactory.exception_class) { @object.expects(:the_spanish_inquisition) }
|
56
56
|
end
|
57
57
|
|
58
58
|
def test_should_alias_object_method
|
59
59
|
klass = Class.new { def self.method_x; end }
|
60
|
+
klass.extend(Mocha::ObjectMethods)
|
60
61
|
assert_equal klass._method(:method_x), klass.method(:method_x)
|
61
62
|
end
|
62
63
|
end
|
@@ -1,23 +1,14 @@
|
|
1
1
|
require File.expand_path('../../../test_helper', __FILE__)
|
2
|
-
require 'deprecation_disabler'
|
3
2
|
require 'mocha/parameter_matchers/equivalent_uri'
|
4
3
|
|
5
4
|
class EquivalentUriMatchesTest < Mocha::TestCase
|
6
5
|
include Mocha::ParameterMatchers
|
7
|
-
include DeprecationDisabler
|
8
6
|
|
9
7
|
def test_should_match_identical_uri
|
10
8
|
matcher = equivalent_uri('http://example.com/foo?a=1&b=2')
|
11
9
|
assert matcher.matches?(['http://example.com/foo?a=1&b=2'])
|
12
10
|
end
|
13
11
|
|
14
|
-
def test_should_support_legacy_matcher_method
|
15
|
-
disable_deprecations do
|
16
|
-
matcher = has_equivalent_query_string('http://example.com/foo?a=1&b=2')
|
17
|
-
assert matcher.matches?(['http://example.com/foo?a=1&b=2'])
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
12
|
def test_should_match_uri_with_rearranged_query_string
|
22
13
|
matcher = equivalent_uri('http://example.com/foo?b=2&a=1')
|
23
14
|
assert matcher.matches?(['http://example.com/foo?a=1&b=2'])
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../../../test_helper', __FILE__)
|
2
2
|
|
3
3
|
require 'mocha/parameter_matchers/has_entries'
|
4
|
-
require 'mocha/parameter_matchers/
|
4
|
+
require 'mocha/parameter_matchers/instance_methods'
|
5
5
|
require 'mocha/inspect'
|
6
6
|
|
7
7
|
class HasEntriesTest < Mocha::TestCase
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../../../test_helper', __FILE__)
|
2
2
|
|
3
3
|
require 'mocha/parameter_matchers/has_entry'
|
4
|
-
require 'mocha/parameter_matchers/
|
4
|
+
require 'mocha/parameter_matchers/instance_methods'
|
5
5
|
require 'mocha/parameter_matchers/equals'
|
6
6
|
require 'mocha/inspect'
|
7
7
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../../../test_helper', __FILE__)
|
2
2
|
|
3
3
|
require 'mocha/parameter_matchers/has_key'
|
4
|
-
require 'mocha/parameter_matchers/
|
4
|
+
require 'mocha/parameter_matchers/instance_methods'
|
5
5
|
require 'mocha/inspect'
|
6
6
|
|
7
7
|
class HasKeyTest < Mocha::TestCase
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../../../test_helper', __FILE__)
|
2
2
|
|
3
3
|
require 'mocha/parameter_matchers/has_value'
|
4
|
-
require 'mocha/parameter_matchers/
|
4
|
+
require 'mocha/parameter_matchers/instance_methods'
|
5
5
|
require 'mocha/parameter_matchers/equals'
|
6
6
|
require 'mocha/inspect'
|
7
7
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../../../test_helper', __FILE__)
|
2
2
|
|
3
3
|
require 'mocha/parameter_matchers/includes'
|
4
|
-
require 'mocha/parameter_matchers/
|
4
|
+
require 'mocha/parameter_matchers/instance_methods'
|
5
5
|
require 'mocha/parameter_matchers/has_key'
|
6
6
|
require 'mocha/parameter_matchers/regexp_matches'
|
7
7
|
require 'mocha/inspect'
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../../../test_helper', __FILE__)
|
2
2
|
|
3
3
|
require 'mocha/parameter_matchers/responds_with'
|
4
|
-
require 'mocha/parameter_matchers/
|
4
|
+
require 'mocha/parameter_matchers/instance_methods'
|
5
5
|
require 'mocha/inspect'
|
6
6
|
|
7
7
|
class RespondsWithTest < Mocha::TestCase
|
@@ -1,61 +1,66 @@
|
|
1
1
|
require File.expand_path('../../test_helper', __FILE__)
|
2
2
|
|
3
|
+
require 'mocha/invocation'
|
3
4
|
require 'mocha/return_values'
|
4
5
|
|
5
6
|
class ReturnValuesTest < Mocha::TestCase
|
6
7
|
include Mocha
|
7
8
|
|
9
|
+
def new_invocation
|
10
|
+
Invocation.new(:irrelevant, :irrelevant)
|
11
|
+
end
|
12
|
+
|
8
13
|
def test_should_return_nil
|
9
14
|
values = ReturnValues.new
|
10
|
-
assert_nil values.next
|
15
|
+
assert_nil values.next(new_invocation)
|
11
16
|
end
|
12
17
|
|
13
18
|
def test_should_keep_returning_nil
|
14
19
|
values = ReturnValues.new
|
15
|
-
values.next
|
16
|
-
assert_nil values.next
|
17
|
-
assert_nil values.next
|
20
|
+
values.next(new_invocation)
|
21
|
+
assert_nil values.next(new_invocation)
|
22
|
+
assert_nil values.next(new_invocation)
|
18
23
|
end
|
19
24
|
|
20
25
|
def test_should_return_evaluated_single_return_value
|
21
26
|
values = ReturnValues.new(SingleReturnValue.new('value'))
|
22
|
-
assert_equal 'value', values.next
|
27
|
+
assert_equal 'value', values.next(new_invocation)
|
23
28
|
end
|
24
29
|
|
25
30
|
def test_should_keep_returning_evaluated_single_return_value
|
26
31
|
values = ReturnValues.new(SingleReturnValue.new('value'))
|
27
|
-
values.next
|
28
|
-
assert_equal 'value', values.next
|
29
|
-
assert_equal 'value', values.next
|
32
|
+
values.next(new_invocation)
|
33
|
+
assert_equal 'value', values.next(new_invocation)
|
34
|
+
assert_equal 'value', values.next(new_invocation)
|
30
35
|
end
|
31
36
|
|
32
37
|
def test_should_return_consecutive_evaluated_single_return_values
|
33
38
|
values = ReturnValues.new(SingleReturnValue.new('value_1'), SingleReturnValue.new('value_2'))
|
34
|
-
assert_equal 'value_1', values.next
|
35
|
-
assert_equal 'value_2', values.next
|
39
|
+
assert_equal 'value_1', values.next(new_invocation)
|
40
|
+
assert_equal 'value_2', values.next(new_invocation)
|
36
41
|
end
|
37
42
|
|
38
43
|
def test_should_keep_returning_last_of_consecutive_evaluated_single_return_values
|
39
44
|
values = ReturnValues.new(SingleReturnValue.new('value_1'), SingleReturnValue.new('value_2'))
|
40
|
-
values.next
|
41
|
-
values.next
|
42
|
-
assert_equal 'value_2', values.next
|
43
|
-
assert_equal 'value_2', values.next
|
45
|
+
values.next(new_invocation)
|
46
|
+
values.next(new_invocation)
|
47
|
+
assert_equal 'value_2', values.next(new_invocation)
|
48
|
+
assert_equal 'value_2', values.next(new_invocation)
|
44
49
|
end
|
45
50
|
|
46
51
|
def test_should_build_single_return_values_for_each_values
|
47
52
|
values = ReturnValues.build('value_1', 'value_2', 'value_3').values
|
48
|
-
assert_equal 'value_1', values[0].evaluate
|
49
|
-
assert_equal 'value_2', values[1].evaluate
|
50
|
-
assert_equal 'value_3', values[2].evaluate
|
53
|
+
assert_equal 'value_1', values[0].evaluate(new_invocation)
|
54
|
+
assert_equal 'value_2', values[1].evaluate(new_invocation)
|
55
|
+
assert_equal 'value_3', values[2].evaluate(new_invocation)
|
51
56
|
end
|
52
57
|
|
53
58
|
def test_should_combine_two_sets_of_return_values
|
54
59
|
values1 = ReturnValues.build('value_1')
|
55
60
|
values2 = ReturnValues.build('value_2a', 'value_2b')
|
56
61
|
values = (values1 + values2).values
|
57
|
-
assert_equal 'value_1', values[0].evaluate
|
58
|
-
assert_equal 'value_2a', values[1].evaluate
|
59
|
-
assert_equal 'value_2b', values[2].evaluate
|
62
|
+
assert_equal 'value_1', values[0].evaluate(new_invocation)
|
63
|
+
assert_equal 'value_2a', values[1].evaluate(new_invocation)
|
64
|
+
assert_equal 'value_2b', values[2].evaluate(new_invocation)
|
60
65
|
end
|
61
66
|
end
|
@@ -1,12 +1,17 @@
|
|
1
1
|
require File.expand_path('../../test_helper', __FILE__)
|
2
2
|
|
3
|
+
require 'mocha/invocation'
|
3
4
|
require 'mocha/single_return_value'
|
4
5
|
|
5
6
|
class SingleReturnValueTest < Mocha::TestCase
|
6
7
|
include Mocha
|
7
8
|
|
9
|
+
def new_invocation
|
10
|
+
Invocation.new(:irrelevant, :irrelevant)
|
11
|
+
end
|
12
|
+
|
8
13
|
def test_should_return_value
|
9
14
|
value = SingleReturnValue.new('value')
|
10
|
-
assert_equal 'value', value.evaluate
|
15
|
+
assert_equal 'value', value.evaluate(new_invocation)
|
11
16
|
end
|
12
17
|
end
|
data/test/unit/thrower_test.rb
CHANGED
@@ -1,18 +1,23 @@
|
|
1
1
|
require File.expand_path('../../test_helper', __FILE__)
|
2
2
|
|
3
|
+
require 'mocha/invocation'
|
3
4
|
require 'mocha/thrower'
|
4
5
|
|
5
6
|
class ThrowerTest < Mocha::TestCase
|
6
7
|
include Mocha
|
7
8
|
|
9
|
+
def new_invocation
|
10
|
+
Invocation.new(:irrelevant, :irrelevant)
|
11
|
+
end
|
12
|
+
|
8
13
|
def test_should_throw_tag
|
9
14
|
thrower = Thrower.new(:tag)
|
10
|
-
assert_throws(:tag) { thrower.evaluate }
|
15
|
+
assert_throws(:tag) { thrower.evaluate(new_invocation) }
|
11
16
|
end
|
12
17
|
|
13
18
|
def test_should_throw_tag_with_return_value
|
14
19
|
thrower = Thrower.new(:tag, 'return-value')
|
15
|
-
return_value = catch(:tag) { thrower.evaluate }
|
20
|
+
return_value = catch(:tag) { thrower.evaluate(new_invocation) }
|
16
21
|
assert_equal 'return-value', return_value
|
17
22
|
end
|
18
23
|
end
|
@@ -1,11 +1,8 @@
|
|
1
|
-
<script src="/
|
2
|
-
|
1
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id=<%= ENV['GOOGLE_ANALYTICS_WEB_PROPERTY_ID'] %>"></script>
|
3
2
|
<script>
|
4
|
-
|
5
|
-
(
|
6
|
-
|
7
|
-
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
3
|
+
window.dataLayer = window.dataLayer || [];
|
4
|
+
function gtag(){dataLayer.push(arguments);}
|
5
|
+
gtag('js', new Date());
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
</script>
|
7
|
+
gtag('config', '<%= ENV['GOOGLE_ANALYTICS_WEB_PROPERTY_ID'] %>');
|
8
|
+
</script>
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mocha
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Mead
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: metaclass
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.0.1
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 0.0.1
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,44 +56,16 @@ dependencies:
|
|
70
56
|
name: rubocop
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
|
-
- - "
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: redcarpet
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
59
|
+
- - "<="
|
88
60
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
61
|
+
version: 0.58.2
|
90
62
|
type: :development
|
91
63
|
prerelease: false
|
92
64
|
version_requirements: !ruby/object:Gem::Requirement
|
93
65
|
requirements:
|
94
|
-
- - "
|
66
|
+
- - "<="
|
95
67
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: yard
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
68
|
+
version: 0.58.2
|
111
69
|
description: Mocking and stubbing library with JMock/SchMock syntax, which allows
|
112
70
|
mocking and stubbing of methods on real (non-mock) classes.
|
113
71
|
email: mocha-developer@googlegroups.com
|
@@ -127,6 +85,65 @@ files:
|
|
127
85
|
- RELEASE.md
|
128
86
|
- Rakefile
|
129
87
|
- bin/build-matrix
|
88
|
+
- docs/CNAME
|
89
|
+
- docs/Mocha.html
|
90
|
+
- docs/Mocha/API.html
|
91
|
+
- docs/Mocha/ClassMethods.html
|
92
|
+
- docs/Mocha/Configuration.html
|
93
|
+
- docs/Mocha/Expectation.html
|
94
|
+
- docs/Mocha/ExpectationError.html
|
95
|
+
- docs/Mocha/ExpectationErrorFactory.html
|
96
|
+
- docs/Mocha/Hooks.html
|
97
|
+
- docs/Mocha/Integration.html
|
98
|
+
- docs/Mocha/Integration/MiniTest.html
|
99
|
+
- docs/Mocha/Integration/MiniTest/Adapter.html
|
100
|
+
- docs/Mocha/Integration/TestUnit.html
|
101
|
+
- docs/Mocha/Integration/TestUnit/Adapter.html
|
102
|
+
- docs/Mocha/Mock.html
|
103
|
+
- docs/Mocha/ObjectMethods.html
|
104
|
+
- docs/Mocha/ParameterMatchers.html
|
105
|
+
- docs/Mocha/ParameterMatchers/AllOf.html
|
106
|
+
- docs/Mocha/ParameterMatchers/AnyOf.html
|
107
|
+
- docs/Mocha/ParameterMatchers/AnyParameters.html
|
108
|
+
- docs/Mocha/ParameterMatchers/Anything.html
|
109
|
+
- docs/Mocha/ParameterMatchers/Base.html
|
110
|
+
- docs/Mocha/ParameterMatchers/Equals.html
|
111
|
+
- docs/Mocha/ParameterMatchers/EquivalentUri.html
|
112
|
+
- docs/Mocha/ParameterMatchers/HasEntries.html
|
113
|
+
- docs/Mocha/ParameterMatchers/HasEntry.html
|
114
|
+
- docs/Mocha/ParameterMatchers/HasKey.html
|
115
|
+
- docs/Mocha/ParameterMatchers/HasValue.html
|
116
|
+
- docs/Mocha/ParameterMatchers/Includes.html
|
117
|
+
- docs/Mocha/ParameterMatchers/InstanceOf.html
|
118
|
+
- docs/Mocha/ParameterMatchers/IsA.html
|
119
|
+
- docs/Mocha/ParameterMatchers/KindOf.html
|
120
|
+
- docs/Mocha/ParameterMatchers/Not.html
|
121
|
+
- docs/Mocha/ParameterMatchers/Optionally.html
|
122
|
+
- docs/Mocha/ParameterMatchers/RegexpMatches.html
|
123
|
+
- docs/Mocha/ParameterMatchers/RespondsWith.html
|
124
|
+
- docs/Mocha/ParameterMatchers/YamlEquivalent.html
|
125
|
+
- docs/Mocha/Sequence.html
|
126
|
+
- docs/Mocha/StateMachine.html
|
127
|
+
- docs/Mocha/StateMachine/State.html
|
128
|
+
- docs/Mocha/StateMachine/StatePredicate.html
|
129
|
+
- docs/Mocha/StubbingError.html
|
130
|
+
- docs/_index.html
|
131
|
+
- docs/class_list.html
|
132
|
+
- docs/css/common.css
|
133
|
+
- docs/css/full_list.css
|
134
|
+
- docs/css/style.css
|
135
|
+
- docs/file.COPYING.html
|
136
|
+
- docs/file.MIT-LICENSE.html
|
137
|
+
- docs/file.README.html
|
138
|
+
- docs/file.RELEASE.html
|
139
|
+
- docs/file_list.html
|
140
|
+
- docs/frames.html
|
141
|
+
- docs/index.html
|
142
|
+
- docs/js/app.js
|
143
|
+
- docs/js/full_list.js
|
144
|
+
- docs/js/jquery.js
|
145
|
+
- docs/method_list.html
|
146
|
+
- docs/top-level-namespace.html
|
130
147
|
- gemfiles/Gemfile.minitest.1.3.0
|
131
148
|
- gemfiles/Gemfile.minitest.1.4.0
|
132
149
|
- gemfiles/Gemfile.minitest.1.4.1
|
@@ -136,6 +153,7 @@ files:
|
|
136
153
|
- gemfiles/Gemfile.minitest.2.11.0
|
137
154
|
- gemfiles/Gemfile.minitest.2.11.2
|
138
155
|
- gemfiles/Gemfile.minitest.2.3.0
|
156
|
+
- gemfiles/Gemfile.minitest.5.11.3
|
139
157
|
- gemfiles/Gemfile.minitest.latest
|
140
158
|
- gemfiles/Gemfile.test-unit.2.0.0
|
141
159
|
- gemfiles/Gemfile.test-unit.2.0.1
|
@@ -150,7 +168,6 @@ files:
|
|
150
168
|
- lib/mocha/cardinality.rb
|
151
169
|
- lib/mocha/central.rb
|
152
170
|
- lib/mocha/change_state_side_effect.rb
|
153
|
-
- lib/mocha/class_method.rb
|
154
171
|
- lib/mocha/class_methods.rb
|
155
172
|
- lib/mocha/configuration.rb
|
156
173
|
- lib/mocha/debug.rb
|
@@ -192,15 +209,14 @@ files:
|
|
192
209
|
- lib/mocha/integration/test_unit/nothing.rb
|
193
210
|
- lib/mocha/integration/test_unit/ruby_version_185_and_below.rb
|
194
211
|
- lib/mocha/integration/test_unit/ruby_version_186_and_above.rb
|
212
|
+
- lib/mocha/invocation.rb
|
195
213
|
- lib/mocha/is_a.rb
|
196
214
|
- lib/mocha/logger.rb
|
215
|
+
- lib/mocha/macos_version.rb
|
197
216
|
- lib/mocha/method_matcher.rb
|
198
|
-
- lib/mocha/mini_test.rb
|
199
217
|
- lib/mocha/minitest.rb
|
200
218
|
- lib/mocha/mock.rb
|
201
219
|
- lib/mocha/mockery.rb
|
202
|
-
- lib/mocha/module_method.rb
|
203
|
-
- lib/mocha/module_methods.rb
|
204
220
|
- lib/mocha/multiple_yields.rb
|
205
221
|
- lib/mocha/names.rb
|
206
222
|
- lib/mocha/no_yields.rb
|
@@ -219,17 +235,18 @@ files:
|
|
219
235
|
- lib/mocha/parameter_matchers/has_key.rb
|
220
236
|
- lib/mocha/parameter_matchers/has_value.rb
|
221
237
|
- lib/mocha/parameter_matchers/includes.rb
|
238
|
+
- lib/mocha/parameter_matchers/instance_methods.rb
|
222
239
|
- lib/mocha/parameter_matchers/instance_of.rb
|
223
240
|
- lib/mocha/parameter_matchers/is_a.rb
|
224
241
|
- lib/mocha/parameter_matchers/kind_of.rb
|
225
242
|
- lib/mocha/parameter_matchers/not.rb
|
226
|
-
- lib/mocha/parameter_matchers/object.rb
|
227
243
|
- lib/mocha/parameter_matchers/optionally.rb
|
228
244
|
- lib/mocha/parameter_matchers/regexp_matches.rb
|
229
245
|
- lib/mocha/parameter_matchers/responds_with.rb
|
230
246
|
- lib/mocha/parameter_matchers/yaml_equivalent.rb
|
231
247
|
- lib/mocha/parameters_matcher.rb
|
232
248
|
- lib/mocha/pretty_parameters.rb
|
249
|
+
- lib/mocha/raised_exception.rb
|
233
250
|
- lib/mocha/receivers.rb
|
234
251
|
- lib/mocha/return_values.rb
|
235
252
|
- lib/mocha/ruby_version.rb
|
@@ -237,20 +254,21 @@ files:
|
|
237
254
|
- lib/mocha/setup.rb
|
238
255
|
- lib/mocha/single_return_value.rb
|
239
256
|
- lib/mocha/single_yield.rb
|
240
|
-
- lib/mocha/
|
257
|
+
- lib/mocha/singleton_class.rb
|
241
258
|
- lib/mocha/state_machine.rb
|
259
|
+
- lib/mocha/stubbed_method.rb
|
242
260
|
- lib/mocha/stubbing_error.rb
|
243
261
|
- lib/mocha/test_unit.rb
|
244
262
|
- lib/mocha/thrower.rb
|
245
|
-
- lib/mocha/
|
263
|
+
- lib/mocha/thrown_object.rb
|
246
264
|
- lib/mocha/version.rb
|
247
265
|
- lib/mocha/yield_parameters.rb
|
248
|
-
- lib/mocha_standalone.rb
|
249
266
|
- mocha.gemspec
|
250
267
|
- test/acceptance/acceptance_test_helper.rb
|
251
268
|
- test/acceptance/bug_18914_test.rb
|
252
269
|
- test/acceptance/bug_21465_test.rb
|
253
270
|
- test/acceptance/bug_21563_test.rb
|
271
|
+
- test/acceptance/display_matching_invocations_alongside_expectations_test.rb
|
254
272
|
- test/acceptance/exception_rescue_test.rb
|
255
273
|
- test/acceptance/expectations_on_multiple_methods_test.rb
|
256
274
|
- test/acceptance/expected_invocation_count_test.rb
|
@@ -260,8 +278,8 @@ files:
|
|
260
278
|
- test/acceptance/issue_70_test.rb
|
261
279
|
- test/acceptance/mocha_example_test.rb
|
262
280
|
- test/acceptance/mocha_test_result_test.rb
|
281
|
+
- test/acceptance/mock_built_with_first_argument_type_being_string_test.rb
|
263
282
|
- test/acceptance/mock_test.rb
|
264
|
-
- test/acceptance/mock_with_initializer_block_test.rb
|
265
283
|
- test/acceptance/mocked_methods_dispatch_test.rb
|
266
284
|
- test/acceptance/multiple_expectations_failure_message_test.rb
|
267
285
|
- test/acceptance/optional_parameters_test.rb
|
@@ -328,7 +346,6 @@ files:
|
|
328
346
|
- test/unit/cardinality_test.rb
|
329
347
|
- test/unit/central_test.rb
|
330
348
|
- test/unit/change_state_side_effect_test.rb
|
331
|
-
- test/unit/class_method_test.rb
|
332
349
|
- test/unit/class_methods_test.rb
|
333
350
|
- test/unit/configuration_test.rb
|
334
351
|
- test/unit/date_time_inspect_test.rb
|
@@ -338,6 +355,7 @@ files:
|
|
338
355
|
- test/unit/hash_inspect_test.rb
|
339
356
|
- test/unit/hooks_test.rb
|
340
357
|
- test/unit/in_state_ordering_constraint_test.rb
|
358
|
+
- test/unit/instance_method_test.rb
|
341
359
|
- test/unit/method_matcher_test.rb
|
342
360
|
- test/unit/mock_test.rb
|
343
361
|
- test/unit/mockery_test.rb
|
@@ -376,7 +394,7 @@ files:
|
|
376
394
|
- test/unit/yield_parameters_test.rb
|
377
395
|
- yard-templates/default/layout/html/google_analytics.erb
|
378
396
|
- yard-templates/default/layout/html/setup.rb
|
379
|
-
homepage:
|
397
|
+
homepage: https://mocha.jamesmead.org
|
380
398
|
licenses:
|
381
399
|
- MIT
|
382
400
|
- BSD-2-Clause
|
@@ -396,8 +414,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
396
414
|
- !ruby/object:Gem::Version
|
397
415
|
version: '0'
|
398
416
|
requirements: []
|
399
|
-
|
400
|
-
rubygems_version: 2.7.3
|
417
|
+
rubygems_version: 3.0.3
|
401
418
|
signing_key:
|
402
419
|
specification_version: 4
|
403
420
|
summary: Mocking and stubbing library
|