mocha 0.14.0.alpha → 0.14.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.
- data/RELEASE.md +4 -0
- data/lib/mocha/integration/mini_test.rb +1 -6
- data/lib/mocha/version.rb +1 -1
- data/test/acceptance/bug_18914_test.rb +1 -1
- data/test/acceptance/bug_21465_test.rb +1 -1
- data/test/acceptance/bug_21563_test.rb +1 -1
- data/test/acceptance/exception_rescue_test.rb +1 -1
- data/test/acceptance/expectations_on_multiple_methods_test.rb +1 -1
- data/test/acceptance/expected_invocation_count_test.rb +1 -1
- data/test/acceptance/failure_messages_test.rb +1 -1
- data/test/acceptance/issue_65_test.rb +1 -1
- data/test/acceptance/issue_70_test.rb +1 -1
- data/test/acceptance/mocha_example_test.rb +1 -1
- data/test/acceptance/mocha_test_result_test.rb +1 -1
- data/test/acceptance/mock_test.rb +1 -1
- data/test/acceptance/mock_with_initializer_block_test.rb +1 -1
- data/test/acceptance/mocked_methods_dispatch_test.rb +1 -1
- data/test/acceptance/multiple_expectations_failure_message_test.rb +1 -1
- data/test/acceptance/optional_parameters_test.rb +1 -1
- data/test/acceptance/parameter_matcher_test.rb +1 -1
- data/test/acceptance/partial_mocks_test.rb +1 -1
- data/test/acceptance/raise_exception_test.rb +1 -1
- data/test/acceptance/return_value_test.rb +1 -1
- data/test/acceptance/sequence_test.rb +1 -1
- data/test/acceptance/states_test.rb +1 -1
- data/test/acceptance/stub_any_instance_method_test.rb +1 -1
- data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +1 -1
- data/test/acceptance/stub_class_method_defined_on_class_test.rb +1 -1
- data/test/acceptance/stub_class_method_defined_on_module_test.rb +1 -1
- data/test/acceptance/stub_class_method_defined_on_superclass_test.rb +1 -1
- data/test/acceptance/stub_everything_test.rb +1 -1
- data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +1 -1
- data/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +1 -1
- data/test/acceptance/stub_instance_method_defined_on_class_test.rb +1 -1
- data/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +1 -1
- data/test/acceptance/stub_instance_method_defined_on_module_test.rb +1 -1
- data/test/acceptance/stub_instance_method_defined_on_object_class_test.rb +1 -1
- data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +1 -1
- data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +1 -1
- data/test/acceptance/stub_module_method_test.rb +1 -1
- data/test/acceptance/stub_test.rb +1 -1
- data/test/acceptance/stubba_example_test.rb +1 -1
- data/test/acceptance/stubba_test_result_test.rb +1 -1
- data/test/acceptance/stubbing_error_backtrace_test.rb +1 -1
- data/test/acceptance/stubbing_frozen_object_test.rb +1 -1
- data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +1 -1
- data/test/acceptance/stubbing_method_unnecessarily_test.rb +1 -1
- data/test/acceptance/stubbing_nil_test.rb +1 -1
- data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +1 -1
- data/test/acceptance/stubbing_non_existent_class_method_test.rb +1 -1
- data/test/acceptance/stubbing_non_existent_instance_method_test.rb +1 -1
- data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +1 -1
- data/test/acceptance/stubbing_non_public_class_method_test.rb +1 -1
- data/test/acceptance/stubbing_non_public_instance_method_test.rb +1 -1
- data/test/acceptance/stubbing_on_non_mock_object_test.rb +1 -1
- data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +1 -1
- data/test/acceptance/throw_test.rb +1 -1
- data/test/acceptance/unstubbing_test.rb +1 -1
- data/test/integration/mini_test_test.rb +17 -4
- data/test/minitest_result.rb +49 -0
- data/test/test_helper.rb +36 -1
- data/test/test_runner.rb +12 -6
- data/test/unit/any_instance_method_test.rb +1 -1
- data/test/unit/array_inspect_test.rb +1 -1
- data/test/unit/backtrace_filter_test.rb +1 -1
- data/test/unit/cardinality_test.rb +1 -1
- data/test/unit/central_test.rb +1 -1
- data/test/unit/change_state_side_effect_test.rb +1 -1
- data/test/unit/class_method_test.rb +1 -1
- data/test/unit/class_methods_test.rb +1 -1
- data/test/unit/configuration_test.rb +1 -1
- data/test/unit/date_time_inspect_test.rb +1 -1
- data/test/unit/exception_raiser_test.rb +1 -1
- data/test/unit/expectation_list_test.rb +1 -1
- data/test/unit/expectation_test.rb +1 -1
- data/test/unit/hash_inspect_test.rb +1 -1
- data/test/unit/hooks_test.rb +1 -1
- data/test/unit/in_state_ordering_constraint_test.rb +1 -1
- data/test/unit/method_matcher_test.rb +1 -1
- data/test/unit/mock_test.rb +1 -1
- data/test/unit/mockery_test.rb +1 -1
- data/test/unit/module_methods_test.rb +1 -1
- data/test/unit/multiple_yields_test.rb +1 -1
- data/test/unit/no_yields_test.rb +1 -1
- data/test/unit/object_inspect_test.rb +1 -1
- data/test/unit/object_methods_test.rb +1 -1
- data/test/unit/parameter_matchers/all_of_test.rb +1 -1
- data/test/unit/parameter_matchers/any_of_test.rb +1 -1
- data/test/unit/parameter_matchers/anything_test.rb +1 -1
- data/test/unit/parameter_matchers/equals_test.rb +1 -1
- 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/instance_of_test.rb +1 -1
- data/test/unit/parameter_matchers/is_a_test.rb +1 -1
- data/test/unit/parameter_matchers/kind_of_test.rb +1 -1
- data/test/unit/parameter_matchers/not_test.rb +1 -1
- data/test/unit/parameter_matchers/regexp_matches_test.rb +1 -1
- data/test/unit/parameter_matchers/responds_with_test.rb +1 -1
- data/test/unit/parameter_matchers/yaml_equivalent_test.rb +1 -1
- data/test/unit/parameters_matcher_test.rb +1 -1
- data/test/unit/return_values_test.rb +1 -1
- data/test/unit/sequence_test.rb +1 -1
- data/test/unit/single_return_value_test.rb +1 -1
- data/test/unit/single_yield_test.rb +1 -1
- data/test/unit/state_machine_test.rb +1 -1
- data/test/unit/string_inspect_test.rb +1 -1
- data/test/unit/thrower_test.rb +1 -1
- data/test/unit/yield_parameters_test.rb +1 -1
- metadata +109 -54
- checksums.yaml +0 -7
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../acceptance_test_helper', __FILE__)
|
2
2
|
require 'mocha/setup'
|
3
3
|
|
4
|
-
class StubbingSameClassMethodOnParentAndChildClassTest <
|
4
|
+
class StubbingSameClassMethodOnParentAndChildClassTest < Mocha::TestCase
|
5
5
|
|
6
6
|
include AcceptanceTest
|
7
7
|
|
@@ -1,9 +1,22 @@
|
|
1
1
|
require File.expand_path('../../test_helper', __FILE__)
|
2
2
|
|
3
|
-
|
3
|
+
begin
|
4
|
+
require "minitest"
|
5
|
+
rescue LoadError
|
6
|
+
end
|
7
|
+
begin
|
8
|
+
require "minitest/unit"
|
9
|
+
rescue LoadError
|
10
|
+
end
|
11
|
+
|
4
12
|
require "mocha/setup"
|
5
13
|
require "integration/shared_tests"
|
6
14
|
|
7
|
-
|
8
|
-
|
9
|
-
|
15
|
+
if defined?(::Minitest) || defined?(MiniTest)
|
16
|
+
testcase = defined?(Minitest::Test) ? Minitest::Test : MiniTest::Unit::TestCase
|
17
|
+
class MiniTestTest < testcase
|
18
|
+
include SharedTests
|
19
|
+
end
|
20
|
+
else
|
21
|
+
puts "MiniTest not available - no point in running tests."
|
22
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'forwardable'
|
2
|
+
|
3
|
+
class MinitestResult
|
4
|
+
|
5
|
+
class Failure
|
6
|
+
extend Forwardable
|
7
|
+
def_delegators :@failure, :message, :backtrace
|
8
|
+
|
9
|
+
def initialize(failure)
|
10
|
+
@failure = failure
|
11
|
+
end
|
12
|
+
|
13
|
+
def location
|
14
|
+
Minitest.filter_backtrace(backtrace)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def initialize(tests)
|
19
|
+
@tests = tests
|
20
|
+
end
|
21
|
+
|
22
|
+
def failures
|
23
|
+
@tests.map(&:failures).flatten.select { |r| Minitest::Assertion === r }.map { |f| Failure.new(f) }
|
24
|
+
end
|
25
|
+
|
26
|
+
def failure_count
|
27
|
+
failures.length
|
28
|
+
end
|
29
|
+
|
30
|
+
def failure_message_lines
|
31
|
+
failures.map { |f| f.message.split("\n") }.flatten
|
32
|
+
end
|
33
|
+
|
34
|
+
def errors
|
35
|
+
@tests.map(&:failures).flatten.select { |r| Minitest::UnexpectedError === r }
|
36
|
+
end
|
37
|
+
|
38
|
+
def error_count
|
39
|
+
errors.length
|
40
|
+
end
|
41
|
+
|
42
|
+
def error_messages
|
43
|
+
errors.map { |e| e.message.split("\n") }.flatten
|
44
|
+
end
|
45
|
+
|
46
|
+
def assertion_count
|
47
|
+
@tests.inject(0) { |total, test| total + test.assertions }
|
48
|
+
end
|
49
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -8,4 +8,39 @@ $:.unshift File.expand_path(File.join(File.dirname(__FILE__), 'unit'))
|
|
8
8
|
$:.unshift File.expand_path(File.join(File.dirname(__FILE__), 'unit', 'parameter_matchers'))
|
9
9
|
$:.unshift File.expand_path(File.join(File.dirname(__FILE__), 'acceptance'))
|
10
10
|
|
11
|
-
|
11
|
+
begin
|
12
|
+
require 'minitest'
|
13
|
+
rescue LoadError
|
14
|
+
end
|
15
|
+
begin
|
16
|
+
require 'minitest/unit'
|
17
|
+
rescue LoadError
|
18
|
+
end
|
19
|
+
|
20
|
+
if defined?(::Minitest) || defined?(MiniTest)
|
21
|
+
begin
|
22
|
+
require 'minitest/autorun'
|
23
|
+
rescue LoadError
|
24
|
+
MiniTest::Unit.autorun
|
25
|
+
end
|
26
|
+
class Mocha::TestCase < defined?(Minitest::Test) ? Minitest::Test : MiniTest::Unit::TestCase
|
27
|
+
def assert_nothing_raised(exception = StandardError)
|
28
|
+
yield
|
29
|
+
rescue exception => e
|
30
|
+
flunk "Unexpected exception raised: #{e}"
|
31
|
+
end
|
32
|
+
|
33
|
+
alias_method :assert_not_nil, :refute_nil
|
34
|
+
alias_method :assert_raise, :assert_raises
|
35
|
+
alias_method :assert_not_same, :refute_same
|
36
|
+
alias_method :assert_no_match, :refute_match
|
37
|
+
end
|
38
|
+
else
|
39
|
+
require 'test/unit'
|
40
|
+
class Mocha::TestCase < Test::Unit::TestCase
|
41
|
+
def test_dummy
|
42
|
+
# Some versions (?) of Test::Unit try to run this base class as a test case
|
43
|
+
# and it fails because it has no test methods, so I'm adding a dummy test.
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/test/test_runner.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
if defined?(::Minitest::VERSION) && (Gem::Version.new(::Minitest::VERSION) >= Gem::Version.new('5.0.0'))
|
2
|
+
require File.expand_path('../minitest_result', __FILE__)
|
3
|
+
elsif defined?(::MiniTest::Unit::VERSION) && (Gem::Version.new(::MiniTest::Unit::VERSION) < Gem::Version.new('5.0.0'))
|
4
4
|
require File.expand_path('../mini_test_result', __FILE__)
|
5
5
|
else
|
6
6
|
require File.expand_path('../test_unit_result', __FILE__)
|
@@ -12,15 +12,22 @@ module TestRunner
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def run_as_tests(methods = {})
|
15
|
-
base_class =
|
15
|
+
base_class = Mocha::TestCase
|
16
16
|
test_class = Class.new(base_class) do
|
17
17
|
methods.each do |(method_name, proc)|
|
18
18
|
define_method(method_name, proc)
|
19
19
|
end
|
20
20
|
end
|
21
|
+
|
21
22
|
tests = methods.keys.select { |m| m.to_s[/^test/] }.map { |m| test_class.new(m) }
|
22
23
|
|
23
|
-
if defined?(
|
24
|
+
if defined?(::Minitest::VERSION) && (Gem::Version.new(::Minitest::VERSION) >= Gem::Version.new('5.0.0'))
|
25
|
+
tests.each do |test|
|
26
|
+
test.run
|
27
|
+
end
|
28
|
+
Minitest::Runnable.runnables.delete(test_class)
|
29
|
+
test_result = MinitestResult.new(tests)
|
30
|
+
elsif defined?(::MiniTest::Unit::VERSION) && (Gem::Version.new(::MiniTest::Unit::VERSION) < Gem::Version.new('5.0.0'))
|
24
31
|
runner = MiniTest::Unit.new
|
25
32
|
tests.each do |test|
|
26
33
|
test.run(runner)
|
@@ -44,5 +51,4 @@ module TestRunner
|
|
44
51
|
def assert_failed(test_result)
|
45
52
|
flunk "Test passed unexpectedly" unless test_result.failure_count + test_result.error_count > 0
|
46
53
|
end
|
47
|
-
|
48
54
|
end
|
data/test/unit/central_test.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path('../../test_helper', __FILE__)
|
|
2
2
|
require 'mocha/class_methods'
|
3
3
|
require 'mocha/object_methods'
|
4
4
|
|
5
|
-
class ClassMethodsTest <
|
5
|
+
class ClassMethodsTest < Mocha::TestCase
|
6
6
|
|
7
7
|
def setup
|
8
8
|
@klass = Class.new.extend(Mocha::ClassMethods, Mocha::ObjectMethods)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../../test_helper', __FILE__)
|
2
2
|
require "mocha/configuration"
|
3
3
|
|
4
|
-
class ConfigurationTest <
|
4
|
+
class ConfigurationTest < Mocha::TestCase
|
5
5
|
def test_allow_temporarily_changes_config_when_given_block
|
6
6
|
Mocha::Configuration.warn_when(:stubbing_method_unnecessarily)
|
7
7
|
yielded = false
|
data/test/unit/hooks_test.rb
CHANGED