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
@@ -3,11 +3,9 @@ module Mocha
|
|
3
3
|
module TestUnit
|
4
4
|
def self.testcase
|
5
5
|
if defined?(::Test::Unit::TestCase) &&
|
6
|
-
|
7
|
-
|
6
|
+
!(defined?(::MiniTest::Unit::TestCase) && (::Test::Unit::TestCase < ::MiniTest::Unit::TestCase)) &&
|
7
|
+
!(defined?(::MiniTest::Spec) && (::Test::Unit::TestCase < ::MiniTest::Spec))
|
8
8
|
::Test::Unit::TestCase
|
9
|
-
else
|
10
|
-
nil
|
11
9
|
end
|
12
10
|
end
|
13
11
|
|
@@ -16,8 +14,10 @@ module Mocha
|
|
16
14
|
if testcase
|
17
15
|
begin
|
18
16
|
require 'test/unit/version'
|
17
|
+
# rubocop:disable Lint/HandleExceptions
|
19
18
|
rescue LoadError
|
20
19
|
end
|
20
|
+
# rubocop:enable Lint/HandleExceptions
|
21
21
|
if defined?(::Test::Unit::VERSION)
|
22
22
|
version = ::Test::Unit::VERSION
|
23
23
|
end
|
@@ -1,17 +1,13 @@
|
|
1
1
|
require 'mocha/backtrace_filter'
|
2
2
|
|
3
3
|
module Mocha
|
4
|
-
|
5
4
|
# @private
|
6
5
|
class ErrorWithFilteredBacktrace < StandardError
|
7
|
-
|
8
6
|
# @private
|
9
7
|
def initialize(message = nil, backtrace = [])
|
10
8
|
super(message)
|
11
9
|
filter = BacktraceFilter.new
|
12
10
|
set_backtrace(filter.filtered(backtrace))
|
13
11
|
end
|
14
|
-
|
15
12
|
end
|
16
|
-
|
17
13
|
end
|
@@ -1,9 +1,8 @@
|
|
1
1
|
module Mocha
|
2
|
-
|
3
2
|
class ExceptionRaiser
|
4
|
-
|
5
3
|
def initialize(exception, message)
|
6
|
-
@exception
|
4
|
+
@exception = exception
|
5
|
+
@message = message
|
7
6
|
end
|
8
7
|
|
9
8
|
def evaluate
|
@@ -11,7 +10,5 @@ module Mocha
|
|
11
10
|
raise @exception, @message if @message
|
12
11
|
raise @exception
|
13
12
|
end
|
14
|
-
|
15
13
|
end
|
16
|
-
|
17
14
|
end
|
data/lib/mocha/expectation.rb
CHANGED
@@ -11,10 +11,8 @@ require 'mocha/change_state_side_effect'
|
|
11
11
|
require 'mocha/cardinality'
|
12
12
|
|
13
13
|
module Mocha
|
14
|
-
|
15
14
|
# Methods on expectations returned from {Mock#expects}, {Mock#stubs}, {ObjectMethods#expects} and {ObjectMethods#stubs}.
|
16
15
|
class Expectation
|
17
|
-
|
18
16
|
# Modifies expectation so that the number of calls to the expected method must be within a specific +range+.
|
19
17
|
#
|
20
18
|
# @param [Range,Integer] range specifies the allowable range in the number of expected invocations.
|
@@ -184,7 +182,7 @@ module Mocha
|
|
184
182
|
# object = mock()
|
185
183
|
# object.expects(:expected_method).at_most_once
|
186
184
|
# 2.times { object.expected_method } # => unexpected invocation
|
187
|
-
def at_most_once
|
185
|
+
def at_most_once
|
188
186
|
at_most(1)
|
189
187
|
self
|
190
188
|
end
|
@@ -506,7 +504,8 @@ module Mocha
|
|
506
504
|
@parameters_matcher = ParametersMatcher.new
|
507
505
|
@ordering_constraints = []
|
508
506
|
@side_effects = []
|
509
|
-
@cardinality
|
507
|
+
@cardinality = Cardinality.exactly(1)
|
508
|
+
@invocation_count = 0
|
510
509
|
@return_values = ReturnValues.new
|
511
510
|
@yield_parameters = YieldParameters.new
|
512
511
|
@backtrace = backtrace || caller
|
@@ -529,12 +528,12 @@ module Mocha
|
|
529
528
|
|
530
529
|
# @private
|
531
530
|
def perform_side_effects
|
532
|
-
@side_effects.each
|
531
|
+
@side_effects.each(&:perform)
|
533
532
|
end
|
534
533
|
|
535
534
|
# @private
|
536
535
|
def in_correct_order?
|
537
|
-
@ordering_constraints.all?
|
536
|
+
@ordering_constraints.all?(&:allows_invocation_now?)
|
538
537
|
end
|
539
538
|
|
540
539
|
# @private
|
@@ -560,8 +559,8 @@ module Mocha
|
|
560
559
|
# @private
|
561
560
|
def invoke
|
562
561
|
@invocation_count += 1
|
563
|
-
perform_side_effects
|
564
|
-
if block_given?
|
562
|
+
perform_side_effects
|
563
|
+
if block_given?
|
565
564
|
@yield_parameters.next_invocation.each do |yield_parameters|
|
566
565
|
yield(*yield_parameters)
|
567
566
|
end
|
@@ -584,21 +583,21 @@ module Mocha
|
|
584
583
|
def inspect
|
585
584
|
address = __id__ * 2
|
586
585
|
address += 0x100000000 if address < 0
|
587
|
-
"#<Expectation:0x#{'%x'
|
586
|
+
"#<Expectation:0x#{format('%x', address)} #{mocha_inspect} >"
|
588
587
|
end
|
589
588
|
|
590
589
|
# @private
|
591
590
|
def mocha_inspect
|
592
591
|
message = "#{@cardinality.mocha_inspect}, "
|
593
592
|
message << case @invocation_count
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
message <<
|
593
|
+
when 0 then 'not yet invoked'
|
594
|
+
when 1 then 'invoked once'
|
595
|
+
when 2 then 'invoked twice'
|
596
|
+
else "invoked #{@invocation_count} times"
|
597
|
+
end
|
598
|
+
message << ': '
|
600
599
|
message << method_signature
|
601
|
-
message << "; #{@ordering_constraints.map
|
600
|
+
message << "; #{@ordering_constraints.map(&:mocha_inspect).join('; ')}" unless @ordering_constraints.empty?
|
602
601
|
message
|
603
602
|
end
|
604
603
|
|
@@ -606,7 +605,5 @@ module Mocha
|
|
606
605
|
def method_signature
|
607
606
|
"#{@mock.mocha_inspect}.#{@method_matcher.mocha_inspect}#{@parameters_matcher.mocha_inspect}"
|
608
607
|
end
|
609
|
-
|
610
608
|
end
|
611
|
-
|
612
609
|
end
|
@@ -4,5 +4,7 @@ module Mocha
|
|
4
4
|
# Authors of test libraries may use +Mocha::ExpectationErrorFactory+ to have Mocha raise a different exception.
|
5
5
|
#
|
6
6
|
# @see Mocha::ExpectationErrorFactory
|
7
|
+
# rubocop:disable Lint/InheritException
|
7
8
|
class ExpectationError < Exception; end
|
9
|
+
# rubocop:enable Lint/InheritException
|
8
10
|
end
|
@@ -2,7 +2,6 @@ require 'mocha/backtrace_filter'
|
|
2
2
|
require 'mocha/expectation_error'
|
3
3
|
|
4
4
|
module Mocha
|
5
|
-
|
6
5
|
# This factory determines what class of exception should be raised when Mocha detects a test failure.
|
7
6
|
#
|
8
7
|
# This class should only be used by authors of test libraries and not by typical "users" of Mocha.
|
@@ -1,7 +1,5 @@
|
|
1
1
|
module Mocha
|
2
|
-
|
3
2
|
class ExpectationList
|
4
|
-
|
5
3
|
def initialize(expectations = [])
|
6
4
|
@expectations = expectations
|
7
5
|
end
|
@@ -24,7 +22,7 @@ module Mocha
|
|
24
22
|
end
|
25
23
|
|
26
24
|
def match_allowing_invocation(method_name, *arguments)
|
27
|
-
matching_expectations(method_name, *arguments).detect
|
25
|
+
matching_expectations(method_name, *arguments).detect(&:invocations_allowed?)
|
28
26
|
end
|
29
27
|
|
30
28
|
def verified?(assertion_counter = nil)
|
@@ -48,7 +46,7 @@ module Mocha
|
|
48
46
|
end
|
49
47
|
|
50
48
|
def +(other)
|
51
|
-
self.class.new(
|
49
|
+
self.class.new(to_a + other.to_a)
|
52
50
|
end
|
53
51
|
|
54
52
|
private
|
@@ -56,7 +54,5 @@ module Mocha
|
|
56
54
|
def matching_expectations(method_name, *arguments)
|
57
55
|
@expectations.select { |e| e.match?(method_name, *arguments) }
|
58
56
|
end
|
59
|
-
|
60
57
|
end
|
61
|
-
|
62
58
|
end
|
data/lib/mocha/hooks.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
module Mocha
|
2
|
-
|
3
2
|
class InStateOrderingConstraint
|
4
|
-
|
5
3
|
def initialize(state_predicate)
|
6
4
|
@state_predicate = state_predicate
|
7
5
|
end
|
@@ -13,7 +11,5 @@ module Mocha
|
|
13
11
|
def mocha_inspect
|
14
12
|
"when #{@state_predicate.mocha_inspect}"
|
15
13
|
end
|
16
|
-
|
17
14
|
end
|
18
|
-
|
19
15
|
end
|
data/lib/mocha/inspect.rb
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
require 'date'
|
2
2
|
|
3
3
|
module Mocha
|
4
|
-
|
5
4
|
module ObjectMethods
|
6
5
|
def mocha_inspect
|
7
|
-
address =
|
6
|
+
address = __id__ * 2
|
8
7
|
address += 0x100000000 if address < 0
|
9
|
-
inspect =~ /#</ ? "#<#{self.class}:0x#{'%x'
|
8
|
+
inspect =~ /#</ ? "#<#{self.class}:0x#{format('%x', address)}>" : inspect
|
10
9
|
end
|
11
10
|
end
|
12
11
|
|
13
12
|
module ArrayMethods
|
14
13
|
def mocha_inspect
|
15
|
-
"[#{collect
|
14
|
+
"[#{collect(&:mocha_inspect).join(', ')}]"
|
16
15
|
end
|
17
16
|
end
|
18
17
|
|
@@ -33,7 +32,6 @@ module Mocha
|
|
33
32
|
to_s
|
34
33
|
end
|
35
34
|
end
|
36
|
-
|
37
35
|
end
|
38
36
|
|
39
37
|
class Object
|
data/lib/mocha/integration.rb
CHANGED
@@ -5,10 +5,9 @@ require 'mocha/integration/mini_test'
|
|
5
5
|
module Mocha
|
6
6
|
module Integration
|
7
7
|
def self.activate
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
end
|
8
|
+
return unless [Integration::TestUnit, Integration::MiniTest].map(&:activate).none?
|
9
|
+
Deprecation.warning("Test::Unit or MiniTest must be loaded *before* `require 'mocha/setup'`.")
|
10
|
+
Deprecation.warning("If you're integrating with a test library other than Test::Unit or MiniTest, you should use `require 'mocha/api'` instead of `require 'mocha/setup'`.")
|
12
11
|
end
|
13
12
|
end
|
14
13
|
end
|
@@ -5,7 +5,6 @@ require 'mocha/expectation_error_factory'
|
|
5
5
|
module Mocha
|
6
6
|
module Integration
|
7
7
|
module MiniTest
|
8
|
-
|
9
8
|
# Integrates Mocha into recent versions of MiniTest.
|
10
9
|
#
|
11
10
|
# See the source code for an example of how to integrate Mocha into a test library.
|
@@ -19,11 +18,11 @@ module Mocha
|
|
19
18
|
|
20
19
|
# @private
|
21
20
|
def self.description
|
22
|
-
|
21
|
+
'adapter for MiniTest gem >= v3.3.0'
|
23
22
|
end
|
24
23
|
|
25
24
|
# @private
|
26
|
-
def self.included(
|
25
|
+
def self.included(_mod)
|
27
26
|
Mocha::ExpectationErrorFactory.exception_class = ::MiniTest::Assertion
|
28
27
|
end
|
29
28
|
|
@@ -51,4 +50,3 @@ module Mocha
|
|
51
50
|
end
|
52
51
|
end
|
53
52
|
end
|
54
|
-
|
@@ -4,7 +4,7 @@ module Mocha
|
|
4
4
|
module Integration
|
5
5
|
module MiniTest
|
6
6
|
def self.translate(exception)
|
7
|
-
return exception unless exception.
|
7
|
+
return exception unless exception.is_a?(::Mocha::ExpectationError)
|
8
8
|
translated_exception = ::MiniTest::Assertion.new(exception.message)
|
9
9
|
translated_exception.set_backtrace(exception.backtrace)
|
10
10
|
translated_exception
|
@@ -2,16 +2,16 @@ module Mocha
|
|
2
2
|
module Integration
|
3
3
|
module MiniTest
|
4
4
|
module Nothing
|
5
|
-
def self.applicable_to?(
|
5
|
+
def self.applicable_to?(_test_unit_version, _ruby_version = nil)
|
6
6
|
true
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.description
|
10
|
-
|
10
|
+
'nothing (no MiniTest integration available)'
|
11
11
|
end
|
12
12
|
|
13
|
-
def self.included(
|
14
|
-
raise
|
13
|
+
def self.included(_mod)
|
14
|
+
raise 'No MiniTest integration available'
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem v1.3'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
assertion_counter = AssertionCounter.new(self)
|
24
25
|
result = '.'
|
@@ -45,6 +46,7 @@ module Mocha
|
|
45
46
|
end
|
46
47
|
result
|
47
48
|
end
|
49
|
+
# rubocop:enable all
|
48
50
|
end
|
49
51
|
end
|
50
52
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem v1.4.0'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
assertion_counter = AssertionCounter.new(self)
|
24
25
|
result = '.'
|
@@ -45,6 +46,7 @@ module Mocha
|
|
45
46
|
end
|
46
47
|
result
|
47
48
|
end
|
49
|
+
# rubocop:enable all
|
48
50
|
end
|
49
51
|
end
|
50
52
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem v1.4.1'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
trap 'INFO' do
|
24
25
|
warn '%s#%s %.2fs' % [self.class, self.__name__,
|
@@ -56,6 +57,7 @@ module Mocha
|
|
56
57
|
end
|
57
58
|
result
|
58
59
|
end
|
60
|
+
# rubocop:enable all
|
59
61
|
end
|
60
62
|
end
|
61
63
|
end
|
@@ -11,7 +11,7 @@ module Mocha
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.description
|
14
|
-
|
14
|
+
'monkey patch for MiniTest gem >= v1.4.2 and <= v1.7.2'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.included(mod)
|
@@ -19,6 +19,7 @@ module Mocha
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module RunMethodPatch
|
22
|
+
# rubocop:disable all
|
22
23
|
def run runner
|
23
24
|
trap 'INFO' do
|
24
25
|
warn '%s#%s %.2fs' % [self.class, self.__name__,
|
@@ -56,6 +57,7 @@ module Mocha
|
|
56
57
|
end
|
57
58
|
result
|
58
59
|
end
|
60
|
+
# rubocop:enable all
|
59
61
|
end
|
60
62
|
end
|
61
63
|
end
|