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
data/lib/mocha/stubbing_error.rb
CHANGED
data/lib/mocha/test_unit.rb
CHANGED
data/lib/mocha/thrower.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
module Mocha
|
2
|
-
|
3
2
|
# Exception raised when an unexpected method is invoked
|
4
3
|
class UnexpectedInvocation
|
5
|
-
|
6
4
|
# @private
|
7
5
|
def initialize(mock, symbol, *arguments)
|
8
|
-
@mock
|
6
|
+
@mock = mock
|
7
|
+
@symbol = symbol
|
8
|
+
@arguments = arguments
|
9
9
|
end
|
10
10
|
|
11
11
|
# @private
|
@@ -20,7 +20,5 @@ module Mocha
|
|
20
20
|
def short_description
|
21
21
|
"unexpected invocation: #{@symbol}(#{@arguments.join(', ')})"
|
22
22
|
end
|
23
|
-
|
24
23
|
end
|
25
|
-
|
26
24
|
end
|
data/lib/mocha/version.rb
CHANGED
@@ -3,18 +3,16 @@ require 'mocha/single_yield'
|
|
3
3
|
require 'mocha/multiple_yields'
|
4
4
|
|
5
5
|
module Mocha
|
6
|
-
|
7
6
|
class YieldParameters
|
8
|
-
|
9
7
|
def initialize
|
10
8
|
@parameter_groups = []
|
11
9
|
end
|
12
10
|
|
13
11
|
def next_invocation
|
14
12
|
case @parameter_groups.length
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
when 0 then NoYields.new
|
14
|
+
when 1 then @parameter_groups.first
|
15
|
+
else @parameter_groups.shift
|
18
16
|
end
|
19
17
|
end
|
20
18
|
|
@@ -25,7 +23,5 @@ module Mocha
|
|
25
23
|
def multiple_add(*parameter_groups)
|
26
24
|
@parameter_groups << MultipleYields.new(*parameter_groups)
|
27
25
|
end
|
28
|
-
|
29
26
|
end
|
30
|
-
|
31
27
|
end
|
data/mocha.gemspec
CHANGED
@@ -1,76 +1,52 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
1
|
lib = File.expand_path('../lib/', __FILE__)
|
3
2
|
$LOAD_PATH.unshift lib unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
3
|
+
require 'mocha/version'
|
5
4
|
|
6
5
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
6
|
+
s.name = 'mocha'
|
8
7
|
s.version = Mocha::VERSION
|
9
8
|
s.licenses = ['MIT', 'BSD-2-Clause']
|
10
9
|
s.required_ruby_version = '>= 1.8.7'
|
11
10
|
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
s.
|
15
|
-
s.email = "mocha-developer@googlegroups.com"
|
11
|
+
s.authors = ['James Mead']
|
12
|
+
s.description = 'Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.'
|
13
|
+
s.email = 'mocha-developer@googlegroups.com'
|
16
14
|
|
17
15
|
s.files = `git ls-files`.split("\n")
|
18
|
-
s.files.delete(
|
19
|
-
s.files.delete(
|
16
|
+
s.files.delete('.travis.yml')
|
17
|
+
s.files.delete('.gitignore')
|
20
18
|
|
21
|
-
s.homepage =
|
22
|
-
s.require_paths = [
|
23
|
-
s.
|
24
|
-
s.
|
25
|
-
s.has_rdoc = "yard"
|
19
|
+
s.homepage = 'http://gofreerange.com/mocha/docs'
|
20
|
+
s.require_paths = ['lib']
|
21
|
+
s.summary = 'Mocking and stubbing library'
|
22
|
+
s.has_rdoc = 'yard'
|
26
23
|
|
27
|
-
s.add_dependency(
|
28
|
-
if s.respond_to? :specification_version then
|
29
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
30
|
-
s.specification_version = 3
|
24
|
+
s.add_dependency('metaclass', '~> 0.0.1')
|
31
25
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
s.add_development_dependency("rake", "~> 10.0")
|
37
|
-
end
|
38
|
-
s.add_development_dependency("introspection", "~> 0.0.1")
|
39
|
-
if RUBY_VERSION >= '2.2.0'
|
40
|
-
s.add_development_dependency("minitest")
|
41
|
-
end
|
42
|
-
if ENV["MOCHA_GENERATE_DOCS"]
|
43
|
-
s.add_development_dependency("yard")
|
44
|
-
s.add_development_dependency("redcarpet")
|
45
|
-
end
|
46
|
-
else
|
47
|
-
if RUBY_VERSION >= '1.9.3'
|
48
|
-
s.add_development_dependency("rake", ">= 0")
|
49
|
-
else
|
50
|
-
s.add_development_dependency("rake", "~> 10.0")
|
51
|
-
end
|
52
|
-
s.add_dependency("introspection", "~> 0.0.1")
|
53
|
-
if RUBY_VERSION >= '2.2.0'
|
54
|
-
s.add_dependency("minitest")
|
55
|
-
end
|
56
|
-
if ENV["MOCHA_GENERATE_DOCS"]
|
57
|
-
s.add_dependency("yard")
|
58
|
-
s.add_dependency("redcarpet")
|
26
|
+
unless s.respond_to?(:add_development_dependency)
|
27
|
+
class << s
|
28
|
+
def add_development_dependency(*args)
|
29
|
+
add_dependency(*args)
|
59
30
|
end
|
60
31
|
end
|
32
|
+
end
|
33
|
+
|
34
|
+
if RUBY_VERSION >= '1.9.3'
|
35
|
+
s.add_development_dependency('rake')
|
61
36
|
else
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
37
|
+
# Rake >= v11 does not support Ruby < v1.9.3 so use
|
38
|
+
s.add_development_dependency('rake', '~> 10.0')
|
39
|
+
end
|
40
|
+
s.add_development_dependency('introspection', '~> 0.0.1')
|
41
|
+
if RUBY_VERSION >= '2.2.0'
|
42
|
+
# No test libraries in standard library
|
43
|
+
s.add_development_dependency('minitest')
|
44
|
+
end
|
45
|
+
if RUBY_VERSION >= '1.9.2'
|
46
|
+
s.add_development_dependency('rubocop')
|
47
|
+
end
|
48
|
+
if ENV['MOCHA_GENERATE_DOCS']
|
49
|
+
s.add_development_dependency('redcarpet')
|
50
|
+
s.add_development_dependency('yard')
|
75
51
|
end
|
76
52
|
end
|
@@ -4,9 +4,7 @@ require 'mocha/configuration'
|
|
4
4
|
require 'introspection'
|
5
5
|
|
6
6
|
module AcceptanceTest
|
7
|
-
|
8
7
|
class FakeLogger
|
9
|
-
|
10
8
|
attr_reader :warnings
|
11
9
|
|
12
10
|
def initialize
|
@@ -16,7 +14,6 @@ module AcceptanceTest
|
|
16
14
|
def warn(message)
|
17
15
|
@warnings << message
|
18
16
|
end
|
19
|
-
|
20
17
|
end
|
21
18
|
|
22
19
|
attr_reader :logger
|
@@ -35,5 +32,4 @@ module AcceptanceTest
|
|
35
32
|
end
|
36
33
|
|
37
34
|
include Introspection::Assertions
|
38
|
-
|
39
35
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class Bug18914Test < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -14,30 +13,26 @@ class Bug18914Test < Mocha::TestCase
|
|
14
13
|
end
|
15
14
|
|
16
15
|
class AlwaysEql
|
17
|
-
|
18
16
|
def my_method
|
19
17
|
true
|
20
18
|
end
|
21
19
|
|
22
|
-
def ==(
|
20
|
+
def ==(_other)
|
23
21
|
true
|
24
22
|
end
|
25
23
|
|
26
|
-
def eql?(
|
24
|
+
def eql?(_other)
|
27
25
|
true
|
28
26
|
end
|
29
|
-
|
30
27
|
end
|
31
28
|
|
32
29
|
def test_should_not_allow_stubbing_of_non_mock_instance_disrupted_by_legitimate_overriding_of_eql_method
|
30
|
+
always_eql1 = AlwaysEql.new
|
31
|
+
always_eql1.stubs(:my_method).returns(false)
|
33
32
|
|
34
|
-
|
35
|
-
|
33
|
+
always_eql2 = AlwaysEql.new
|
34
|
+
always_eql2.stubs(:my_method).returns(false)
|
36
35
|
|
37
|
-
|
38
|
-
always_eql_2.stubs(:my_method).returns(false)
|
39
|
-
|
40
|
-
assert_equal false, always_eql_2.my_method
|
36
|
+
assert_equal false, always_eql2.my_method
|
41
37
|
end
|
42
|
-
|
43
38
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class Bug21465Test < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -30,5 +29,4 @@ class Bug21465Test < Mocha::TestCase
|
|
30
29
|
end
|
31
30
|
assert_passed(test_result)
|
32
31
|
end
|
33
|
-
|
34
32
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class Bug21563Test < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -21,5 +20,4 @@ class Bug21563Test < Mocha::TestCase
|
|
21
20
|
end
|
22
21
|
assert_passed(test_result)
|
23
22
|
end
|
24
|
-
|
25
23
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class ExceptionRescueTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -18,12 +17,12 @@ class ExceptionRescueTest < Mocha::TestCase
|
|
18
17
|
mock = mock('mock')
|
19
18
|
begin
|
20
19
|
mock.some_method
|
21
|
-
rescue => e
|
20
|
+
rescue StandardError => e
|
22
21
|
flunk "should not rescue #{e.class}"
|
23
22
|
end
|
24
23
|
end
|
25
24
|
assert_failed(test_result)
|
26
|
-
assert_equal
|
25
|
+
assert_equal 'unexpected invocation: #<Mock:mock>.some_method()', test_result.failure_message_lines[0]
|
27
26
|
end
|
28
27
|
|
29
28
|
def test_invocation_never_expected_exception_is_not_caught_by_standard_rescue
|
@@ -32,12 +31,12 @@ class ExceptionRescueTest < Mocha::TestCase
|
|
32
31
|
mock.expects(:some_method).never
|
33
32
|
begin
|
34
33
|
mock.some_method
|
35
|
-
rescue => e
|
34
|
+
rescue StandardError => e
|
36
35
|
flunk "should not rescue #{e.class}"
|
37
36
|
end
|
38
37
|
end
|
39
38
|
assert_failed(test_result)
|
40
|
-
assert_equal
|
39
|
+
assert_equal 'unexpected invocation: #<Mock:mock>.some_method()', test_result.failure_message_lines[0]
|
41
40
|
end
|
42
41
|
|
43
42
|
def test_unsatisfied_expectation_exception_is_not_caught_by_standard_rescue
|
@@ -47,9 +46,9 @@ class ExceptionRescueTest < Mocha::TestCase
|
|
47
46
|
end
|
48
47
|
assert_failed(test_result)
|
49
48
|
assert_equal [
|
50
|
-
|
51
|
-
|
52
|
-
|
49
|
+
'not all expectations were satisfied',
|
50
|
+
'unsatisfied expectations:',
|
51
|
+
'- expected exactly once, not yet invoked: #<Mock:mock>.some_method(any_parameters)'
|
53
52
|
], test_result.failure_message_lines
|
54
53
|
end
|
55
54
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class ExpectationsOnMultipleMethodsTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -18,6 +17,7 @@ class ExpectationsOnMultipleMethodsTest < Mocha::TestCase
|
|
18
17
|
def my_instance_method_1
|
19
18
|
:original_return_value_1
|
20
19
|
end
|
20
|
+
|
21
21
|
def my_instance_method_2
|
22
22
|
:original_return_value_2
|
23
23
|
end
|
@@ -38,6 +38,7 @@ class ExpectationsOnMultipleMethodsTest < Mocha::TestCase
|
|
38
38
|
def my_instance_method_1
|
39
39
|
:original_return_value_1
|
40
40
|
end
|
41
|
+
|
41
42
|
def my_instance_method_2
|
42
43
|
:original_return_value_2
|
43
44
|
end
|
@@ -2,7 +2,6 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
|
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
4
|
class ExpectedInvocationCountTest < Mocha::TestCase
|
5
|
-
|
6
5
|
include AcceptanceTest
|
7
6
|
|
8
7
|
def setup
|
@@ -30,9 +29,9 @@ class ExpectedInvocationCountTest < Mocha::TestCase
|
|
30
29
|
end
|
31
30
|
assert_failed(test_result)
|
32
31
|
assert_equal [
|
33
|
-
|
34
|
-
|
35
|
-
|
32
|
+
'unexpected invocation: #<Mock:mock>.method()',
|
33
|
+
'unsatisfied expectations:',
|
34
|
+
'- expected never, invoked once: #<Mock:mock>.method(any_parameters)'
|
36
35
|
], test_result.failure_message_lines
|
37
36
|
end
|
38
37
|
|
@@ -53,9 +52,9 @@ class ExpectedInvocationCountTest < Mocha::TestCase
|
|
53
52
|
end
|
54
53
|
assert_failed(test_result)
|
55
54
|
assert_equal [
|
56
|
-
|
57
|
-
|
58
|
-
|
55
|
+
'not all expectations were satisfied',
|
56
|
+
'unsatisfied expectations:',
|
57
|
+
'- expected exactly twice, invoked once: #<Mock:mock>.method(any_parameters)'
|
59
58
|
], test_result.failure_message_lines
|
60
59
|
end
|
61
60
|
|
@@ -67,9 +66,9 @@ class ExpectedInvocationCountTest < Mocha::TestCase
|
|
67
66
|
end
|
68
67
|
assert_failed(test_result)
|
69
68
|
assert_equal [
|
70
|
-
|
71
|
-
|
72
|
-
|
69
|
+
'unexpected invocation: #<Mock:mock>.method()',
|
70
|
+
'unsatisfied expectations:',
|
71
|
+
'- expected exactly twice, invoked 3 times: #<Mock:mock>.method(any_parameters)'
|
73
72
|
], test_result.failure_message_lines
|
74
73
|
end
|
75
74
|
|
@@ -108,9 +107,9 @@ class ExpectedInvocationCountTest < Mocha::TestCase
|
|
108
107
|
end
|
109
108
|
assert_failed(test_result)
|
110
109
|
assert_equal [
|
111
|
-
|
112
|
-
|
113
|
-
|
110
|
+
'not all expectations were satisfied',
|
111
|
+
'unsatisfied expectations:',
|
112
|
+
'- expected between 2 and 4 times, invoked once: #<Mock:mock>.method(any_parameters)'
|
114
113
|
], test_result.failure_message_lines
|
115
114
|
end
|
116
115
|
|
@@ -122,9 +121,9 @@ class ExpectedInvocationCountTest < Mocha::TestCase
|
|
122
121
|
end
|
123
122
|
assert_failed(test_result)
|
124
123
|
assert_equal [
|
125
|
-
|
126
|
-
|
127
|
-
|
124
|
+
'unexpected invocation: #<Mock:mock>.method()',
|
125
|
+
'unsatisfied expectations:',
|
126
|
+
'- expected between 2 and 4 times, invoked 5 times: #<Mock:mock>.method(any_parameters)'
|
128
127
|
], test_result.failure_message_lines
|
129
128
|
end
|
130
129
|
|
@@ -154,9 +153,9 @@ class ExpectedInvocationCountTest < Mocha::TestCase
|
|
154
153
|
end
|
155
154
|
assert_failed(test_result)
|
156
155
|
assert_equal [
|
157
|
-
|
158
|
-
|
159
|
-
|
156
|
+
'not all expectations were satisfied',
|
157
|
+
'unsatisfied expectations:',
|
158
|
+
'- expected at least once, not yet invoked: #<Mock:mock>.method(any_parameters)'
|
160
159
|
], test_result.failure_message_lines
|
161
160
|
end
|
162
161
|
|
@@ -186,9 +185,9 @@ class ExpectedInvocationCountTest < Mocha::TestCase
|
|
186
185
|
end
|
187
186
|
assert_failed(test_result)
|
188
187
|
assert_equal [
|
189
|
-
|
190
|
-
|
191
|
-
|
188
|
+
'unexpected invocation: #<Mock:mock>.method()',
|
189
|
+
'unsatisfied expectations:',
|
190
|
+
'- expected at most once, invoked twice: #<Mock:mock>.method(any_parameters)'
|
192
191
|
], test_result.failure_message_lines
|
193
192
|
end
|
194
193
|
|
@@ -209,9 +208,9 @@ class ExpectedInvocationCountTest < Mocha::TestCase
|
|
209
208
|
end
|
210
209
|
assert_failed(test_result)
|
211
210
|
assert_equal [
|
212
|
-
|
213
|
-
|
214
|
-
|
211
|
+
'unexpected invocation: #<Mock:stub>.method()',
|
212
|
+
'unsatisfied expectations:',
|
213
|
+
'- expected never, invoked once: #<Mock:stub>.method(any_parameters)'
|
215
214
|
], test_result.failure_message_lines
|
216
215
|
end
|
217
216
|
|
@@ -223,10 +222,9 @@ class ExpectedInvocationCountTest < Mocha::TestCase
|
|
223
222
|
end
|
224
223
|
assert_failed(test_result)
|
225
224
|
assert_equal [
|
226
|
-
|
227
|
-
|
228
|
-
|
225
|
+
'unexpected invocation: #<Mock:mock>.method()',
|
226
|
+
'unsatisfied expectations:',
|
227
|
+
'- expected exactly once, not yet invoked: #<Mock:mock>.method(1)'
|
229
228
|
], test_result.failure_message_lines
|
230
229
|
end
|
231
|
-
|
232
230
|
end
|