mocha 0.12.1 → 0.12.2
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.rdoc +3 -0
- data/lib/mocha.rb +1 -1
- data/lib/mocha/expectation_error.rb +1 -13
- data/lib/mocha/expectation_error_factory.rb +17 -0
- data/lib/mocha/mock.rb +2 -1
- data/lib/mocha/mockery.rb +2 -1
- data/lib/mocha/{integration.rb → monkey_patching.rb} +5 -5
- data/lib/mocha/monkey_patching/mini_test.rb +62 -0
- data/lib/mocha/{integration → monkey_patching}/mini_test/assertion_counter.rb +2 -2
- data/lib/mocha/{integration → monkey_patching}/mini_test/exception_translation.rb +1 -1
- data/lib/mocha/{integration → monkey_patching}/mini_test/version_13.rb +4 -4
- data/lib/mocha/{integration → monkey_patching}/mini_test/version_140.rb +4 -4
- data/lib/mocha/{integration → monkey_patching}/mini_test/version_141.rb +4 -4
- data/lib/mocha/{integration → monkey_patching}/mini_test/version_142_to_172.rb +4 -4
- data/lib/mocha/{integration → monkey_patching}/mini_test/version_200.rb +4 -4
- data/lib/mocha/{integration → monkey_patching}/mini_test/version_201_to_222.rb +4 -4
- data/lib/mocha/{integration → monkey_patching}/mini_test/version_2110_to_2111.rb +4 -4
- data/lib/mocha/{integration → monkey_patching}/mini_test/version_2112_to_320.rb +4 -4
- data/lib/mocha/{integration → monkey_patching}/mini_test/version_230_to_2101.rb +4 -4
- data/lib/mocha/monkey_patching/mini_test/version_330.rb +65 -0
- data/lib/mocha/{integration → monkey_patching}/test_unit.rb +13 -13
- data/lib/mocha/{integration → monkey_patching}/test_unit/assertion_counter.rb +1 -1
- data/lib/mocha/{integration → monkey_patching}/test_unit/gem_version_200.rb +2 -2
- data/lib/mocha/{integration → monkey_patching}/test_unit/gem_version_201_to_202.rb +2 -2
- data/lib/mocha/{integration → monkey_patching}/test_unit/gem_version_203_to_220.rb +2 -2
- data/lib/mocha/{integration → monkey_patching}/test_unit/gem_version_230_to_251.rb +2 -2
- data/lib/mocha/{integration → monkey_patching}/test_unit/ruby_version_185_and_below.rb +2 -2
- data/lib/mocha/{integration → monkey_patching}/test_unit/ruby_version_186_and_above.rb +2 -2
- data/lib/mocha/object.rb +2 -1
- data/lib/mocha/version.rb +1 -1
- data/test/acceptance/minitest_test.rb +1 -1
- data/test/test_runner.rb +1 -1
- metadata +34 -32
- data/lib/mocha/integration/mini_test.rb +0 -59
data/RELEASE.rdoc
CHANGED
data/lib/mocha.rb
CHANGED
@@ -1,15 +1,3 @@
|
|
1
|
-
require 'mocha/backtrace_filter'
|
2
|
-
|
3
1
|
module Mocha
|
4
|
-
|
5
|
-
class ExpectationError < Exception
|
6
|
-
|
7
|
-
def initialize(message = nil, backtrace = [])
|
8
|
-
super(message)
|
9
|
-
filter = BacktraceFilter.new
|
10
|
-
set_backtrace(filter.filtered(backtrace))
|
11
|
-
end
|
12
|
-
|
13
|
-
end
|
14
|
-
|
2
|
+
class ExpectationError < Exception; end
|
15
3
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'mocha/backtrace_filter'
|
2
|
+
require 'mocha/expectation_error'
|
3
|
+
|
4
|
+
module Mocha
|
5
|
+
class ExpectationErrorFactory
|
6
|
+
class << self
|
7
|
+
attr_accessor :exception_class
|
8
|
+
def build(message = nil, backtrace = [])
|
9
|
+
self.exception_class ||= ExpectationError
|
10
|
+
exception = exception_class.new(message)
|
11
|
+
filter = BacktraceFilter.new
|
12
|
+
exception.set_backtrace(filter.filtered(backtrace))
|
13
|
+
exception
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/mocha/mock.rb
CHANGED
@@ -6,6 +6,7 @@ require 'mocha/method_matcher'
|
|
6
6
|
require 'mocha/parameters_matcher'
|
7
7
|
require 'mocha/unexpected_invocation'
|
8
8
|
require 'mocha/argument_iterator'
|
9
|
+
require 'mocha/expectation_error_factory'
|
9
10
|
|
10
11
|
module Mocha
|
11
12
|
|
@@ -202,7 +203,7 @@ module Mocha
|
|
202
203
|
matching_expectation.invoke(&block) if matching_expectation
|
203
204
|
message = UnexpectedInvocation.new(self, symbol, *arguments).to_s
|
204
205
|
message << @mockery.mocha_inspect
|
205
|
-
raise
|
206
|
+
raise ExpectationErrorFactory.build(message, caller)
|
206
207
|
end
|
207
208
|
end
|
208
209
|
end
|
data/lib/mocha/mockery.rb
CHANGED
@@ -5,6 +5,7 @@ require 'mocha/state_machine'
|
|
5
5
|
require 'mocha/logger'
|
6
6
|
require 'mocha/configuration'
|
7
7
|
require 'mocha/stubbing_error'
|
8
|
+
require 'mocha/expectation_error_factory'
|
8
9
|
|
9
10
|
module Mocha
|
10
11
|
|
@@ -50,7 +51,7 @@ module Mocha
|
|
50
51
|
else
|
51
52
|
backtrace = unsatisfied_expectations[0].backtrace
|
52
53
|
end
|
53
|
-
raise
|
54
|
+
raise ExpectationErrorFactory.build(message, backtrace)
|
54
55
|
end
|
55
56
|
expectations.each do |e|
|
56
57
|
unless Mocha::Configuration.allow?(:stubbing_method_unnecessarily)
|
@@ -3,17 +3,17 @@ require 'mocha/deprecation'
|
|
3
3
|
|
4
4
|
module Mocha
|
5
5
|
|
6
|
-
module
|
6
|
+
module MonkeyPatching
|
7
7
|
|
8
8
|
class << self
|
9
9
|
|
10
10
|
def monkey_patches
|
11
11
|
patches = []
|
12
12
|
if test_unit_testcase_defined? && !test_unit_testcase_inherits_from_miniunit_testcase?
|
13
|
-
patches << 'mocha/
|
13
|
+
patches << 'mocha/monkey_patching/test_unit'
|
14
14
|
end
|
15
15
|
if mini_test_testcase_defined?
|
16
|
-
patches << 'mocha/
|
16
|
+
patches << 'mocha/monkey_patching/mini_test'
|
17
17
|
end
|
18
18
|
patches
|
19
19
|
end
|
@@ -36,11 +36,11 @@ module Mocha
|
|
36
36
|
|
37
37
|
end
|
38
38
|
|
39
|
-
unless Mocha::
|
39
|
+
unless Mocha::MonkeyPatching.monkey_patches.any?
|
40
40
|
Mocha::Deprecation.warning("Test::Unit or MiniTest must be loaded *before* Mocha.")
|
41
41
|
Mocha::Deprecation.warning("If you're integrating with another test library, you should probably require 'mocha_standalone' instead of 'mocha'")
|
42
42
|
end
|
43
43
|
|
44
|
-
Mocha::
|
44
|
+
Mocha::MonkeyPatching.monkey_patches.each do |patch|
|
45
45
|
require patch
|
46
46
|
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'mocha/api'
|
2
|
+
require 'mocha/options'
|
3
|
+
|
4
|
+
if !MiniTest::Unit::TestCase.ancestors.include?(Mocha::API)
|
5
|
+
|
6
|
+
require 'mocha/monkey_patching/mini_test/exception_translation'
|
7
|
+
require 'mocha/monkey_patching/mini_test/version_13'
|
8
|
+
require 'mocha/monkey_patching/mini_test/version_140'
|
9
|
+
require 'mocha/monkey_patching/mini_test/version_141'
|
10
|
+
require 'mocha/monkey_patching/mini_test/version_142_to_172'
|
11
|
+
require 'mocha/monkey_patching/mini_test/version_200'
|
12
|
+
require 'mocha/monkey_patching/mini_test/version_201_to_222'
|
13
|
+
require 'mocha/monkey_patching/mini_test/version_230_to_2101'
|
14
|
+
require 'mocha/monkey_patching/mini_test/version_2110_to_2111'
|
15
|
+
require 'mocha/monkey_patching/mini_test/version_2112_to_320'
|
16
|
+
require 'mocha/monkey_patching/mini_test/version_330'
|
17
|
+
|
18
|
+
module MiniTest
|
19
|
+
class Unit
|
20
|
+
class TestCase
|
21
|
+
|
22
|
+
include Mocha::API
|
23
|
+
|
24
|
+
alias_method :run_before_mocha, :run
|
25
|
+
remove_method :run
|
26
|
+
|
27
|
+
mini_test_version = begin
|
28
|
+
Gem::Version.new(MiniTest::Unit::VERSION)
|
29
|
+
rescue LoadError
|
30
|
+
Gem::Version.new('0.0.0')
|
31
|
+
end
|
32
|
+
|
33
|
+
$stderr.puts "Detected MiniTest version: #{mini_test_version}" if $mocha_options['debug']
|
34
|
+
|
35
|
+
if Gem::Requirement.new('>= 1.3.0', '<= 1.3.1').satisfied_by?(mini_test_version)
|
36
|
+
include Mocha::MonkeyPatching::MiniTest::Version13
|
37
|
+
elsif Gem::Requirement.new('1.4.0').satisfied_by?(mini_test_version)
|
38
|
+
include Mocha::MonkeyPatching::MiniTest::Version140
|
39
|
+
elsif Gem::Requirement.new('1.4.1').satisfied_by?(mini_test_version)
|
40
|
+
include Mocha::MonkeyPatching::MiniTest::Version141
|
41
|
+
elsif Gem::Requirement.new('>= 1.4.2', '<= 1.7.2').satisfied_by?(mini_test_version)
|
42
|
+
include Mocha::MonkeyPatching::MiniTest::Version142To172
|
43
|
+
elsif Gem::Requirement.new('2.0.0').satisfied_by?(mini_test_version)
|
44
|
+
include Mocha::MonkeyPatching::MiniTest::Version200
|
45
|
+
elsif Gem::Requirement.new('>= 2.0.1', '<= 2.2.2').satisfied_by?(mini_test_version)
|
46
|
+
include Mocha::MonkeyPatching::MiniTest::Version201To222
|
47
|
+
elsif Gem::Requirement.new('>= 2.3.0', '<= 2.10.1').satisfied_by?(mini_test_version)
|
48
|
+
include Mocha::MonkeyPatching::MiniTest::Version230To2101
|
49
|
+
elsif Gem::Requirement.new('>= 2.11.0', '<= 2.11.1').satisfied_by?(mini_test_version)
|
50
|
+
include Mocha::MonkeyPatching::MiniTest::Version2110To2111
|
51
|
+
elsif Gem::Requirement.new('>= 2.11.2', '<= 3.2.0').satisfied_by?(mini_test_version)
|
52
|
+
include Mocha::MonkeyPatching::MiniTest::Version2112To320
|
53
|
+
elsif Gem::Requirement.new('3.3.0').satisfied_by?(mini_test_version)
|
54
|
+
include Mocha::MonkeyPatching::MiniTest::Version330
|
55
|
+
else
|
56
|
+
$stderr.puts "*** No Mocha monkey-patch for MiniTest version ***" if $mocha_options['debug']
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
require 'mocha/
|
1
|
+
require 'mocha/monkey_patching/mini_test/assertion_counter'
|
2
2
|
|
3
3
|
module Mocha
|
4
4
|
|
5
|
-
module
|
5
|
+
module MonkeyPatching
|
6
6
|
|
7
7
|
module MiniTest
|
8
8
|
|
@@ -22,12 +22,12 @@ module Mocha
|
|
22
22
|
@passed = true
|
23
23
|
rescue Exception => e
|
24
24
|
@passed = false
|
25
|
-
result = runner.puke(self.class, self.name, Mocha::
|
25
|
+
result = runner.puke(self.class, self.name, Mocha::MonkeyPatching::MiniTest.translate(e))
|
26
26
|
ensure
|
27
27
|
begin
|
28
28
|
self.teardown
|
29
29
|
rescue Exception => e
|
30
|
-
result = runner.puke(self.class, self.name, Mocha::
|
30
|
+
result = runner.puke(self.class, self.name, Mocha::MonkeyPatching::MiniTest.translate(e))
|
31
31
|
end
|
32
32
|
end
|
33
33
|
ensure
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require 'mocha/
|
1
|
+
require 'mocha/monkey_patching/mini_test/assertion_counter'
|
2
2
|
require 'mocha/expectation_error'
|
3
3
|
|
4
4
|
module Mocha
|
5
5
|
|
6
|
-
module
|
6
|
+
module MonkeyPatching
|
7
7
|
|
8
8
|
module MiniTest
|
9
9
|
|
@@ -23,12 +23,12 @@ module Mocha
|
|
23
23
|
@passed = true
|
24
24
|
rescue Exception => e
|
25
25
|
@passed = false
|
26
|
-
result = runner.puke(self.class, self.__name__, Mocha::
|
26
|
+
result = runner.puke(self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e))
|
27
27
|
ensure
|
28
28
|
begin
|
29
29
|
self.teardown
|
30
30
|
rescue Exception => e
|
31
|
-
result = runner.puke(self.class, self.__name__, Mocha::
|
31
|
+
result = runner.puke(self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e))
|
32
32
|
end
|
33
33
|
end
|
34
34
|
ensure
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require 'mocha/
|
1
|
+
require 'mocha/monkey_patching/mini_test/assertion_counter'
|
2
2
|
require 'mocha/expectation_error'
|
3
3
|
|
4
4
|
module Mocha
|
5
5
|
|
6
|
-
module
|
6
|
+
module MonkeyPatching
|
7
7
|
|
8
8
|
module MiniTest
|
9
9
|
|
@@ -31,14 +31,14 @@ module Mocha
|
|
31
31
|
raise
|
32
32
|
rescue Exception => e
|
33
33
|
@passed = false
|
34
|
-
result = runner.puke(self.class, self.__name__, Mocha::
|
34
|
+
result = runner.puke(self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e))
|
35
35
|
ensure
|
36
36
|
begin
|
37
37
|
self.teardown
|
38
38
|
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
|
39
39
|
raise
|
40
40
|
rescue Exception => e
|
41
|
-
result = runner.puke(self.class, self.__name__, Mocha::
|
41
|
+
result = runner.puke(self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e))
|
42
42
|
end
|
43
43
|
trap 'INFO', 'DEFAULT'
|
44
44
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require 'mocha/
|
1
|
+
require 'mocha/monkey_patching/mini_test/assertion_counter'
|
2
2
|
require 'mocha/expectation_error'
|
3
3
|
|
4
4
|
module Mocha
|
5
5
|
|
6
|
-
module
|
6
|
+
module MonkeyPatching
|
7
7
|
|
8
8
|
module MiniTest
|
9
9
|
|
@@ -31,14 +31,14 @@ module Mocha
|
|
31
31
|
raise
|
32
32
|
rescue Exception => e
|
33
33
|
@passed = false
|
34
|
-
result = runner.puke(self.class, self.__name__, Mocha::
|
34
|
+
result = runner.puke(self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e))
|
35
35
|
ensure
|
36
36
|
begin
|
37
37
|
self.teardown
|
38
38
|
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
|
39
39
|
raise
|
40
40
|
rescue Exception => e
|
41
|
-
result = runner.puke(self.class, self.__name__, Mocha::
|
41
|
+
result = runner.puke(self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e))
|
42
42
|
end
|
43
43
|
trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
|
44
44
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require 'mocha/
|
1
|
+
require 'mocha/monkey_patching/mini_test/assertion_counter'
|
2
2
|
require 'mocha/expectation_error'
|
3
3
|
|
4
4
|
module Mocha
|
5
5
|
|
6
|
-
module
|
6
|
+
module MonkeyPatching
|
7
7
|
|
8
8
|
module MiniTest
|
9
9
|
|
@@ -32,14 +32,14 @@ module Mocha
|
|
32
32
|
raise
|
33
33
|
rescue Exception => e
|
34
34
|
@passed = false
|
35
|
-
result = runner.puke self.class, self.__name__, Mocha::
|
35
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
36
36
|
ensure
|
37
37
|
begin
|
38
38
|
self.teardown
|
39
39
|
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
|
40
40
|
raise
|
41
41
|
rescue Exception => e
|
42
|
-
result = runner.puke self.class, self.__name__, Mocha::
|
42
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
43
43
|
end
|
44
44
|
trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
|
45
45
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require 'mocha/
|
1
|
+
require 'mocha/monkey_patching/mini_test/assertion_counter'
|
2
2
|
require 'mocha/expectation_error'
|
3
3
|
|
4
4
|
module Mocha
|
5
5
|
|
6
|
-
module
|
6
|
+
module MonkeyPatching
|
7
7
|
|
8
8
|
module MiniTest
|
9
9
|
|
@@ -32,14 +32,14 @@ module Mocha
|
|
32
32
|
raise
|
33
33
|
rescue Exception => e
|
34
34
|
@passed = false
|
35
|
-
result = runner.puke self.class, self.__name__, Mocha::
|
35
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
36
36
|
ensure
|
37
37
|
begin
|
38
38
|
self.teardown
|
39
39
|
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
|
40
40
|
raise
|
41
41
|
rescue Exception => e
|
42
|
-
result = runner.puke self.class, self.__name__, Mocha::
|
42
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
43
43
|
end
|
44
44
|
trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
|
45
45
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require 'mocha/
|
1
|
+
require 'mocha/monkey_patching/mini_test/assertion_counter'
|
2
2
|
require 'mocha/expectation_error'
|
3
3
|
|
4
4
|
module Mocha
|
5
5
|
|
6
|
-
module
|
6
|
+
module MonkeyPatching
|
7
7
|
|
8
8
|
module MiniTest
|
9
9
|
|
@@ -34,7 +34,7 @@ module Mocha
|
|
34
34
|
raise
|
35
35
|
rescue Exception => e
|
36
36
|
@passed = false
|
37
|
-
result = runner.puke self.class, self.__name__, Mocha::
|
37
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
38
38
|
ensure
|
39
39
|
%w{ before_teardown teardown after_teardown }.each do |hook|
|
40
40
|
begin
|
@@ -42,7 +42,7 @@ module Mocha
|
|
42
42
|
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
|
43
43
|
raise
|
44
44
|
rescue Exception => e
|
45
|
-
result = runner.puke self.class, self.__name__, Mocha::
|
45
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
46
46
|
end
|
47
47
|
end
|
48
48
|
trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require 'mocha/
|
1
|
+
require 'mocha/monkey_patching/mini_test/assertion_counter'
|
2
2
|
require 'mocha/expectation_error'
|
3
3
|
|
4
4
|
module Mocha
|
5
5
|
|
6
|
-
module
|
6
|
+
module MonkeyPatching
|
7
7
|
|
8
8
|
module MiniTest
|
9
9
|
|
@@ -37,7 +37,7 @@ module Mocha
|
|
37
37
|
raise
|
38
38
|
rescue Exception => e
|
39
39
|
@passed = false
|
40
|
-
result = runner.puke self.class, self.__name__, Mocha::
|
40
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
41
41
|
ensure
|
42
42
|
%w{ before_teardown teardown after_teardown }.each do |hook|
|
43
43
|
begin
|
@@ -45,7 +45,7 @@ module Mocha
|
|
45
45
|
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
|
46
46
|
raise
|
47
47
|
rescue Exception => e
|
48
|
-
result = runner.puke self.class, self.__name__, Mocha::
|
48
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require 'mocha/
|
1
|
+
require 'mocha/monkey_patching/mini_test/assertion_counter'
|
2
2
|
require 'mocha/expectation_error'
|
3
3
|
|
4
4
|
module Mocha
|
5
5
|
|
6
|
-
module
|
6
|
+
module MonkeyPatching
|
7
7
|
|
8
8
|
module MiniTest
|
9
9
|
|
@@ -33,7 +33,7 @@ module Mocha
|
|
33
33
|
raise
|
34
34
|
rescue Exception => e
|
35
35
|
@passed = false
|
36
|
-
result = runner.puke self.class, self.__name__, Mocha::
|
36
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
37
37
|
ensure
|
38
38
|
begin
|
39
39
|
self.run_teardown_hooks
|
@@ -41,7 +41,7 @@ module Mocha
|
|
41
41
|
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
|
42
42
|
raise
|
43
43
|
rescue Exception => e
|
44
|
-
result = runner.puke self.class, self.__name__, Mocha::
|
44
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
45
45
|
end
|
46
46
|
trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
|
47
47
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'mocha/monkey_patching/mini_test/assertion_counter'
|
2
|
+
require 'mocha/expectation_error'
|
3
|
+
|
4
|
+
module Mocha
|
5
|
+
|
6
|
+
module MonkeyPatching
|
7
|
+
|
8
|
+
module MiniTest
|
9
|
+
|
10
|
+
module Version330
|
11
|
+
def self.included(mod)
|
12
|
+
$stderr.puts "Monkey patching MiniTest v3.3.0" if $mocha_options['debug']
|
13
|
+
end
|
14
|
+
def run runner
|
15
|
+
trap "INFO" do
|
16
|
+
runner.report.each_with_index do |msg, i|
|
17
|
+
warn "\n%3d) %s" % [i + 1, msg]
|
18
|
+
end
|
19
|
+
warn ''
|
20
|
+
time = runner.start_time ? Time.now - runner.start_time : 0
|
21
|
+
warn "Current Test: %s#%s %.2fs" % [self.class, self.__name__, time]
|
22
|
+
runner.status $stderr
|
23
|
+
end if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
|
24
|
+
assertion_counter = AssertionCounter.new(self)
|
25
|
+
result = ""
|
26
|
+
begin
|
27
|
+
begin
|
28
|
+
@passed = nil
|
29
|
+
self.before_setup
|
30
|
+
self.setup
|
31
|
+
self.after_setup
|
32
|
+
self.run_test self.__name__
|
33
|
+
mocha_verify(assertion_counter)
|
34
|
+
result = "." unless io?
|
35
|
+
@passed = true
|
36
|
+
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
|
37
|
+
raise
|
38
|
+
rescue Exception => e
|
39
|
+
@passed = false
|
40
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
41
|
+
ensure
|
42
|
+
%w{ before_teardown teardown after_teardown }.each do |hook|
|
43
|
+
begin
|
44
|
+
self.send hook
|
45
|
+
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
|
46
|
+
raise
|
47
|
+
rescue Exception => e
|
48
|
+
@passed = false
|
49
|
+
result = runner.puke self.class, self.__name__, Mocha::MonkeyPatching::MiniTest.translate(e)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
|
53
|
+
end
|
54
|
+
ensure
|
55
|
+
mocha_teardown
|
56
|
+
end
|
57
|
+
result
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
@@ -3,12 +3,12 @@ require 'mocha/options'
|
|
3
3
|
|
4
4
|
if !Test::Unit::TestCase.ancestors.include?(Mocha::API)
|
5
5
|
|
6
|
-
require 'mocha/
|
7
|
-
require 'mocha/
|
8
|
-
require 'mocha/
|
9
|
-
require 'mocha/
|
10
|
-
require 'mocha/
|
11
|
-
require 'mocha/
|
6
|
+
require 'mocha/monkey_patching/test_unit/gem_version_200'
|
7
|
+
require 'mocha/monkey_patching/test_unit/gem_version_201_to_202'
|
8
|
+
require 'mocha/monkey_patching/test_unit/gem_version_203_to_220'
|
9
|
+
require 'mocha/monkey_patching/test_unit/gem_version_230_to_251'
|
10
|
+
require 'mocha/monkey_patching/test_unit/ruby_version_185_and_below'
|
11
|
+
require 'mocha/monkey_patching/test_unit/ruby_version_186_and_above'
|
12
12
|
|
13
13
|
module Test
|
14
14
|
module Unit
|
@@ -33,20 +33,20 @@ if !Test::Unit::TestCase.ancestors.include?(Mocha::API)
|
|
33
33
|
|
34
34
|
if (test_unit_version == Gem::Version.new('1.x')) || (test_unit_version == Gem::Version.new('1.2.3'))
|
35
35
|
if RUBY_VERSION < '1.8.6'
|
36
|
-
include Mocha::
|
36
|
+
include Mocha::MonkeyPatching::TestUnit::RubyVersion185AndBelow
|
37
37
|
else
|
38
|
-
include Mocha::
|
38
|
+
include Mocha::MonkeyPatching::TestUnit::RubyVersion186AndAbove
|
39
39
|
end
|
40
40
|
elsif Gem::Requirement.new('2.0.0').satisfied_by?(test_unit_version)
|
41
|
-
include Mocha::
|
41
|
+
include Mocha::MonkeyPatching::TestUnit::GemVersion200
|
42
42
|
elsif Gem::Requirement.new('>= 2.0.1', '<= 2.0.2').satisfied_by?(test_unit_version)
|
43
|
-
include Mocha::
|
43
|
+
include Mocha::MonkeyPatching::TestUnit::GemVersion201To202
|
44
44
|
elsif Gem::Requirement.new('>= 2.0.3', '<= 2.2.0').satisfied_by?(test_unit_version)
|
45
|
-
include Mocha::
|
45
|
+
include Mocha::MonkeyPatching::TestUnit::GemVersion203To220
|
46
46
|
elsif Gem::Requirement.new('>= 2.3.0', '<= 2.5.1').satisfied_by?(test_unit_version)
|
47
|
-
include Mocha::
|
47
|
+
include Mocha::MonkeyPatching::TestUnit::GemVersion230To251
|
48
48
|
else
|
49
|
-
$stderr.puts "*** No Mocha
|
49
|
+
$stderr.puts "*** No Mocha monkey-patch for Test::Unit version ***" if $mocha_options['debug']
|
50
50
|
end
|
51
51
|
|
52
52
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'test/unit/testcase'
|
2
|
-
require 'mocha/
|
2
|
+
require 'mocha/monkey_patching/test_unit/assertion_counter'
|
3
3
|
require 'mocha/expectation_error'
|
4
4
|
|
5
5
|
module Mocha
|
6
6
|
|
7
|
-
module
|
7
|
+
module MonkeyPatching
|
8
8
|
|
9
9
|
module TestUnit
|
10
10
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'test/unit/testcase'
|
2
|
-
require 'mocha/
|
2
|
+
require 'mocha/monkey_patching/test_unit/assertion_counter'
|
3
3
|
require 'mocha/expectation_error'
|
4
4
|
|
5
5
|
module Mocha
|
6
6
|
|
7
|
-
module
|
7
|
+
module MonkeyPatching
|
8
8
|
|
9
9
|
module TestUnit
|
10
10
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'test/unit/testcase'
|
2
|
-
require 'mocha/
|
2
|
+
require 'mocha/monkey_patching/test_unit/assertion_counter'
|
3
3
|
require 'mocha/expectation_error'
|
4
4
|
|
5
5
|
module Mocha
|
6
6
|
|
7
|
-
module
|
7
|
+
module MonkeyPatching
|
8
8
|
|
9
9
|
module TestUnit
|
10
10
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'test/unit/testcase'
|
2
|
-
require 'mocha/
|
2
|
+
require 'mocha/monkey_patching/test_unit/assertion_counter'
|
3
3
|
require 'mocha/expectation_error'
|
4
4
|
|
5
5
|
module Mocha
|
6
6
|
|
7
|
-
module
|
7
|
+
module MonkeyPatching
|
8
8
|
|
9
9
|
module TestUnit
|
10
10
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'test/unit/testcase'
|
2
|
-
require 'mocha/
|
2
|
+
require 'mocha/monkey_patching/test_unit/assertion_counter'
|
3
3
|
require 'mocha/expectation_error'
|
4
4
|
|
5
5
|
module Mocha
|
6
6
|
|
7
|
-
module
|
7
|
+
module MonkeyPatching
|
8
8
|
|
9
9
|
module TestUnit
|
10
10
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'test/unit/testcase'
|
2
|
-
require 'mocha/
|
2
|
+
require 'mocha/monkey_patching/test_unit/assertion_counter'
|
3
3
|
require 'mocha/expectation_error'
|
4
4
|
|
5
5
|
module Mocha
|
6
6
|
|
7
|
-
module
|
7
|
+
module MonkeyPatching
|
8
8
|
|
9
9
|
module TestUnit
|
10
10
|
|
data/lib/mocha/object.rb
CHANGED
@@ -4,6 +4,7 @@ require 'mocha/class_method'
|
|
4
4
|
require 'mocha/module_method'
|
5
5
|
require 'mocha/any_instance_method'
|
6
6
|
require 'mocha/argument_iterator'
|
7
|
+
require 'mocha/expectation_error_factory'
|
7
8
|
|
8
9
|
module Mocha
|
9
10
|
|
@@ -65,7 +66,7 @@ module Mocha
|
|
65
66
|
# @see Mock#expects
|
66
67
|
def expects(expected_methods_vs_return_values)
|
67
68
|
if expected_methods_vs_return_values.to_s =~ /the[^a-z]*spanish[^a-z]*inquisition/i
|
68
|
-
raise
|
69
|
+
raise ExpectationErrorFactory.build('NOBODY EXPECTS THE SPANISH INQUISITION!')
|
69
70
|
end
|
70
71
|
if frozen?
|
71
72
|
raise StubbingError.new("can't stub method on frozen object: #{mocha_inspect}", caller)
|
data/lib/mocha/version.rb
CHANGED
data/test/test_runner.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mocha
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: metaclass
|
16
|
-
requirement: &
|
16
|
+
requirement: &70321302911880 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.0.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70321302911880
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &70321302910560 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70321302910560
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: introspection
|
38
|
-
requirement: &
|
38
|
+
requirement: &70321302910100 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.0.1
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70321302910100
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: yard
|
49
|
-
requirement: &
|
49
|
+
requirement: &70321302909720 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70321302909720
|
58
58
|
description: Mocking and stubbing library with JMock/SchMock syntax, which allows
|
59
59
|
mocking and stubbing of methods on real (non-mock) classes.
|
60
60
|
email: mocha-developer@googlegroups.com
|
@@ -104,37 +104,39 @@ files:
|
|
104
104
|
- lib/mocha/exception_raiser.rb
|
105
105
|
- lib/mocha/expectation.rb
|
106
106
|
- lib/mocha/expectation_error.rb
|
107
|
+
- lib/mocha/expectation_error_factory.rb
|
107
108
|
- lib/mocha/expectation_list.rb
|
108
109
|
- lib/mocha/in_state_ordering_constraint.rb
|
109
110
|
- lib/mocha/inspect.rb
|
110
111
|
- lib/mocha/instance_method.rb
|
111
|
-
- lib/mocha/integration.rb
|
112
|
-
- lib/mocha/integration/mini_test.rb
|
113
|
-
- lib/mocha/integration/mini_test/assertion_counter.rb
|
114
|
-
- lib/mocha/integration/mini_test/exception_translation.rb
|
115
|
-
- lib/mocha/integration/mini_test/version_13.rb
|
116
|
-
- lib/mocha/integration/mini_test/version_140.rb
|
117
|
-
- lib/mocha/integration/mini_test/version_141.rb
|
118
|
-
- lib/mocha/integration/mini_test/version_142_to_172.rb
|
119
|
-
- lib/mocha/integration/mini_test/version_200.rb
|
120
|
-
- lib/mocha/integration/mini_test/version_201_to_222.rb
|
121
|
-
- lib/mocha/integration/mini_test/version_2110_to_2111.rb
|
122
|
-
- lib/mocha/integration/mini_test/version_2112_to_320.rb
|
123
|
-
- lib/mocha/integration/mini_test/version_230_to_2101.rb
|
124
|
-
- lib/mocha/integration/test_unit.rb
|
125
|
-
- lib/mocha/integration/test_unit/assertion_counter.rb
|
126
|
-
- lib/mocha/integration/test_unit/gem_version_200.rb
|
127
|
-
- lib/mocha/integration/test_unit/gem_version_201_to_202.rb
|
128
|
-
- lib/mocha/integration/test_unit/gem_version_203_to_220.rb
|
129
|
-
- lib/mocha/integration/test_unit/gem_version_230_to_251.rb
|
130
|
-
- lib/mocha/integration/test_unit/ruby_version_185_and_below.rb
|
131
|
-
- lib/mocha/integration/test_unit/ruby_version_186_and_above.rb
|
132
112
|
- lib/mocha/is_a.rb
|
133
113
|
- lib/mocha/logger.rb
|
134
114
|
- lib/mocha/method_matcher.rb
|
135
115
|
- lib/mocha/mock.rb
|
136
116
|
- lib/mocha/mockery.rb
|
137
117
|
- lib/mocha/module_method.rb
|
118
|
+
- lib/mocha/monkey_patching.rb
|
119
|
+
- lib/mocha/monkey_patching/mini_test.rb
|
120
|
+
- lib/mocha/monkey_patching/mini_test/assertion_counter.rb
|
121
|
+
- lib/mocha/monkey_patching/mini_test/exception_translation.rb
|
122
|
+
- lib/mocha/monkey_patching/mini_test/version_13.rb
|
123
|
+
- lib/mocha/monkey_patching/mini_test/version_140.rb
|
124
|
+
- lib/mocha/monkey_patching/mini_test/version_141.rb
|
125
|
+
- lib/mocha/monkey_patching/mini_test/version_142_to_172.rb
|
126
|
+
- lib/mocha/monkey_patching/mini_test/version_200.rb
|
127
|
+
- lib/mocha/monkey_patching/mini_test/version_201_to_222.rb
|
128
|
+
- lib/mocha/monkey_patching/mini_test/version_2110_to_2111.rb
|
129
|
+
- lib/mocha/monkey_patching/mini_test/version_2112_to_320.rb
|
130
|
+
- lib/mocha/monkey_patching/mini_test/version_230_to_2101.rb
|
131
|
+
- lib/mocha/monkey_patching/mini_test/version_330.rb
|
132
|
+
- lib/mocha/monkey_patching/test_unit.rb
|
133
|
+
- lib/mocha/monkey_patching/test_unit/assertion_counter.rb
|
134
|
+
- lib/mocha/monkey_patching/test_unit/gem_version_200.rb
|
135
|
+
- lib/mocha/monkey_patching/test_unit/gem_version_201_to_202.rb
|
136
|
+
- lib/mocha/monkey_patching/test_unit/gem_version_203_to_220.rb
|
137
|
+
- lib/mocha/monkey_patching/test_unit/gem_version_230_to_251.rb
|
138
|
+
- lib/mocha/monkey_patching/test_unit/ruby_version_185_and_below.rb
|
139
|
+
- lib/mocha/monkey_patching/test_unit/ruby_version_186_and_above.rb
|
138
140
|
- lib/mocha/multiple_yields.rb
|
139
141
|
- lib/mocha/names.rb
|
140
142
|
- lib/mocha/no_yields.rb
|
@@ -309,7 +311,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
309
311
|
version: '0'
|
310
312
|
segments:
|
311
313
|
- 0
|
312
|
-
hash:
|
314
|
+
hash: 378206207515710598
|
313
315
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
314
316
|
none: false
|
315
317
|
requirements:
|
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'mocha/api'
|
2
|
-
require 'mocha/options'
|
3
|
-
|
4
|
-
if !MiniTest::Unit::TestCase.ancestors.include?(Mocha::API)
|
5
|
-
|
6
|
-
require 'mocha/integration/mini_test/exception_translation'
|
7
|
-
require 'mocha/integration/mini_test/version_13'
|
8
|
-
require 'mocha/integration/mini_test/version_140'
|
9
|
-
require 'mocha/integration/mini_test/version_141'
|
10
|
-
require 'mocha/integration/mini_test/version_142_to_172'
|
11
|
-
require 'mocha/integration/mini_test/version_200'
|
12
|
-
require 'mocha/integration/mini_test/version_201_to_222'
|
13
|
-
require 'mocha/integration/mini_test/version_230_to_2101'
|
14
|
-
require 'mocha/integration/mini_test/version_2110_to_2111'
|
15
|
-
require 'mocha/integration/mini_test/version_2112_to_320'
|
16
|
-
|
17
|
-
module MiniTest
|
18
|
-
class Unit
|
19
|
-
class TestCase
|
20
|
-
|
21
|
-
include Mocha::API
|
22
|
-
|
23
|
-
alias_method :run_before_mocha, :run
|
24
|
-
remove_method :run
|
25
|
-
|
26
|
-
mini_test_version = begin
|
27
|
-
Gem::Version.new(MiniTest::Unit::VERSION)
|
28
|
-
rescue LoadError
|
29
|
-
Gem::Version.new('0.0.0')
|
30
|
-
end
|
31
|
-
|
32
|
-
$stderr.puts "Detected MiniTest version: #{mini_test_version}" if $mocha_options['debug']
|
33
|
-
|
34
|
-
if Gem::Requirement.new('>= 1.3.0', '<= 1.3.1').satisfied_by?(mini_test_version)
|
35
|
-
include Mocha::Integration::MiniTest::Version13
|
36
|
-
elsif Gem::Requirement.new('1.4.0').satisfied_by?(mini_test_version)
|
37
|
-
include Mocha::Integration::MiniTest::Version140
|
38
|
-
elsif Gem::Requirement.new('1.4.1').satisfied_by?(mini_test_version)
|
39
|
-
include Mocha::Integration::MiniTest::Version141
|
40
|
-
elsif Gem::Requirement.new('>= 1.4.2', '<= 1.7.2').satisfied_by?(mini_test_version)
|
41
|
-
include Mocha::Integration::MiniTest::Version142To172
|
42
|
-
elsif Gem::Requirement.new('2.0.0').satisfied_by?(mini_test_version)
|
43
|
-
include Mocha::Integration::MiniTest::Version200
|
44
|
-
elsif Gem::Requirement.new('>= 2.0.1', '<= 2.2.2').satisfied_by?(mini_test_version)
|
45
|
-
include Mocha::Integration::MiniTest::Version201To222
|
46
|
-
elsif Gem::Requirement.new('>= 2.3.0', '<= 2.10.1').satisfied_by?(mini_test_version)
|
47
|
-
include Mocha::Integration::MiniTest::Version230To2101
|
48
|
-
elsif Gem::Requirement.new('>= 2.11.0', '<= 2.11.1').satisfied_by?(mini_test_version)
|
49
|
-
include Mocha::Integration::MiniTest::Version2110To2111
|
50
|
-
elsif Gem::Requirement.new('>= 2.11.2', '<= 3.2.0').satisfied_by?(mini_test_version)
|
51
|
-
include Mocha::Integration::MiniTest::Version2112To320
|
52
|
-
else
|
53
|
-
$stderr.puts "*** No Mocha integration for MiniTest version ***" if $mocha_options['debug']
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|