mocha 0.9.5 → 0.9.6
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 +17 -2
- data/Rakefile +10 -7
- data/examples/misc.rb +0 -1
- data/examples/mocha.rb +0 -1
- data/examples/stubba.rb +0 -1
- data/lib/mocha.rb +1 -47
- data/lib/mocha/any_instance_method.rb +5 -1
- data/lib/mocha/{standalone.rb → api.rb} +8 -1
- data/lib/mocha/class_method.rb +5 -1
- data/lib/mocha/expectation.rb +3 -3
- data/lib/mocha/integration.rb +38 -0
- data/lib/mocha/integration/mini_test.rb +21 -0
- data/lib/mocha/integration/mini_test/assertion_counter.rb +23 -0
- data/lib/mocha/integration/mini_test/version_131_and_above.rb +50 -0
- data/lib/mocha/integration/test_unit.rb +40 -0
- data/lib/mocha/integration/test_unit/assertion_counter.rb +23 -0
- data/lib/mocha/integration/test_unit/gem_version_200.rb +49 -0
- data/lib/mocha/integration/test_unit/gem_version_201_and_above.rb +49 -0
- data/lib/mocha/integration/test_unit/ruby_version_185_and_below.rb +48 -0
- data/lib/mocha/integration/test_unit/ruby_version_186_and_above.rb +50 -0
- data/lib/mocha/parameter_matchers/has_entry.rb +1 -0
- data/lib/mocha_standalone.rb +2 -2
- data/test/acceptance/{standalone_test.rb → api_test.rb} +2 -2
- data/test/acceptance/bug_21465_test.rb +2 -2
- data/test/acceptance/bug_21563_test.rb +1 -1
- data/test/acceptance/expected_invocation_count_test.rb +19 -19
- data/test/acceptance/failure_messages_test.rb +6 -6
- data/test/acceptance/minitest_test.rb +32 -9
- data/test/acceptance/mocha_test_result_test.rb +8 -8
- data/test/acceptance/mock_test.rb +10 -10
- data/test/acceptance/mock_with_initializer_block_test.rb +3 -3
- data/test/acceptance/mocked_methods_dispatch_test.rb +5 -5
- data/test/acceptance/optional_parameters_test.rb +6 -6
- data/test/acceptance/parameter_matcher_test.rb +20 -20
- data/test/acceptance/partial_mocks_test.rb +2 -2
- data/test/acceptance/return_value_test.rb +4 -4
- data/test/acceptance/sequence_test.rb +11 -11
- data/test/acceptance/states_test.rb +4 -4
- data/test/acceptance/stub_any_instance_method_test.rb +12 -12
- data/test/acceptance/stub_class_method_test.rb +12 -12
- data/test/acceptance/stub_everything_test.rb +4 -4
- data/test/acceptance/stub_instance_method_test.rb +13 -13
- data/test/acceptance/stub_module_method_test.rb +12 -12
- data/test/acceptance/stub_test.rb +4 -4
- data/test/acceptance/stubba_test.rb +1 -1
- data/test/acceptance/stubba_test_result_test.rb +6 -6
- data/test/acceptance/stubbing_error_backtrace_test.rb +4 -4
- data/test/acceptance/stubbing_method_unnecessarily_test.rb +5 -5
- data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +10 -10
- data/test/acceptance/stubbing_non_existent_class_method_test.rb +11 -11
- data/test/acceptance/stubbing_non_existent_instance_method_test.rb +11 -11
- data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +9 -9
- data/test/acceptance/stubbing_non_public_class_method_test.rb +10 -10
- data/test/acceptance/stubbing_non_public_instance_method_test.rb +10 -10
- data/test/acceptance/stubbing_on_non_mock_object_test.rb +5 -5
- data/test/test_helper.rb +4 -0
- data/test/test_runner.rb +1 -1
- data/test/unit/parameter_matchers/has_entry_test.rb +20 -0
- metadata +14 -6
- data/lib/mocha/mini_test_adapter.rb +0 -50
- data/lib/mocha/test_case_adapter.rb +0 -103
| @@ -0,0 +1,49 @@ | |
| 1 | 
            +
            require 'test/unit/testcase'
         | 
| 2 | 
            +
            require 'mocha/integration/test_unit/assertion_counter'
         | 
| 3 | 
            +
            require 'mocha/expectation_error'
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            module Mocha
         | 
| 6 | 
            +
              
         | 
| 7 | 
            +
              module Integration
         | 
| 8 | 
            +
                
         | 
| 9 | 
            +
                module TestUnit
         | 
| 10 | 
            +
                  
         | 
| 11 | 
            +
                  module GemVersion201AndAbove
         | 
| 12 | 
            +
                    def run(result)
         | 
| 13 | 
            +
                      assertion_counter = AssertionCounter.new(result)
         | 
| 14 | 
            +
                      begin
         | 
| 15 | 
            +
                        @_result = result
         | 
| 16 | 
            +
                        yield(Test::Unit::TestCase::STARTED, name)
         | 
| 17 | 
            +
                        begin
         | 
| 18 | 
            +
                          begin
         | 
| 19 | 
            +
                            run_setup
         | 
| 20 | 
            +
                            run_test
         | 
| 21 | 
            +
                            mocha_verify(assertion_counter)
         | 
| 22 | 
            +
                          rescue Mocha::ExpectationError => e
         | 
| 23 | 
            +
                            add_failure(e.message, e.backtrace)
         | 
| 24 | 
            +
                          rescue Exception
         | 
| 25 | 
            +
                            @interrupted = true
         | 
| 26 | 
            +
                            raise unless handle_exception($!)
         | 
| 27 | 
            +
                          ensure
         | 
| 28 | 
            +
                            begin
         | 
| 29 | 
            +
                              run_teardown
         | 
| 30 | 
            +
                            rescue Exception
         | 
| 31 | 
            +
                              raise unless handle_exception($!)
         | 
| 32 | 
            +
                            end
         | 
| 33 | 
            +
                          end
         | 
| 34 | 
            +
                        ensure
         | 
| 35 | 
            +
                          mocha_teardown
         | 
| 36 | 
            +
                        end
         | 
| 37 | 
            +
                        result.add_run
         | 
| 38 | 
            +
                        yield(Test::Unit::TestCase::FINISHED, name)
         | 
| 39 | 
            +
                      ensure
         | 
| 40 | 
            +
                        @_result = nil
         | 
| 41 | 
            +
                      end
         | 
| 42 | 
            +
                    end
         | 
| 43 | 
            +
                  end
         | 
| 44 | 
            +
                  
         | 
| 45 | 
            +
                end
         | 
| 46 | 
            +
                
         | 
| 47 | 
            +
              end
         | 
| 48 | 
            +
              
         | 
| 49 | 
            +
            end
         | 
| @@ -0,0 +1,48 @@ | |
| 1 | 
            +
            require 'test/unit/testcase'
         | 
| 2 | 
            +
            require 'mocha/integration/test_unit/assertion_counter'
         | 
| 3 | 
            +
            require 'mocha/expectation_error'
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            module Mocha
         | 
| 6 | 
            +
              
         | 
| 7 | 
            +
              module Integration
         | 
| 8 | 
            +
                
         | 
| 9 | 
            +
                module TestUnit
         | 
| 10 | 
            +
                  
         | 
| 11 | 
            +
                  module RubyVersion185AndBelow
         | 
| 12 | 
            +
                    def run(result)
         | 
| 13 | 
            +
                      assertion_counter = AssertionCounter.new(result)
         | 
| 14 | 
            +
                      yield(Test::Unit::TestCase::STARTED, name)
         | 
| 15 | 
            +
                      @_result = result
         | 
| 16 | 
            +
                      begin
         | 
| 17 | 
            +
                        begin
         | 
| 18 | 
            +
                          setup
         | 
| 19 | 
            +
                          __send__(@method_name)
         | 
| 20 | 
            +
                          mocha_verify(assertion_counter)
         | 
| 21 | 
            +
                        rescue Mocha::ExpectationError => e
         | 
| 22 | 
            +
                          add_failure(e.message, e.backtrace)
         | 
| 23 | 
            +
                        rescue Test::Unit::AssertionFailedError => e
         | 
| 24 | 
            +
                          add_failure(e.message, e.backtrace)
         | 
| 25 | 
            +
                        rescue StandardError, ScriptError
         | 
| 26 | 
            +
                          add_error($!)
         | 
| 27 | 
            +
                        ensure
         | 
| 28 | 
            +
                          begin
         | 
| 29 | 
            +
                            teardown
         | 
| 30 | 
            +
                          rescue Test::Unit::AssertionFailedError => e
         | 
| 31 | 
            +
                            add_failure(e.message, e.backtrace)
         | 
| 32 | 
            +
                          rescue StandardError, ScriptError
         | 
| 33 | 
            +
                            add_error($!)
         | 
| 34 | 
            +
                          end
         | 
| 35 | 
            +
                        end
         | 
| 36 | 
            +
                      ensure
         | 
| 37 | 
            +
                        mocha_teardown
         | 
| 38 | 
            +
                      end
         | 
| 39 | 
            +
                      result.add_run
         | 
| 40 | 
            +
                      yield(Test::Unit::TestCase::FINISHED, name)
         | 
| 41 | 
            +
                    end
         | 
| 42 | 
            +
                  end
         | 
| 43 | 
            +
                  
         | 
| 44 | 
            +
                end
         | 
| 45 | 
            +
                
         | 
| 46 | 
            +
              end
         | 
| 47 | 
            +
              
         | 
| 48 | 
            +
            end
         | 
| @@ -0,0 +1,50 @@ | |
| 1 | 
            +
            require 'test/unit/testcase'
         | 
| 2 | 
            +
            require 'mocha/integration/test_unit/assertion_counter'
         | 
| 3 | 
            +
            require 'mocha/expectation_error'
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            module Mocha
         | 
| 6 | 
            +
              
         | 
| 7 | 
            +
              module Integration
         | 
| 8 | 
            +
                
         | 
| 9 | 
            +
                module TestUnit
         | 
| 10 | 
            +
                  
         | 
| 11 | 
            +
                  module RubyVersion186AndAbove
         | 
| 12 | 
            +
                    def run(result)
         | 
| 13 | 
            +
                      assertion_counter = AssertionCounter.new(result)
         | 
| 14 | 
            +
                      yield(Test::Unit::TestCase::STARTED, name)
         | 
| 15 | 
            +
                      @_result = result
         | 
| 16 | 
            +
                      begin
         | 
| 17 | 
            +
                        begin
         | 
| 18 | 
            +
                          setup
         | 
| 19 | 
            +
                          __send__(@method_name)
         | 
| 20 | 
            +
                          mocha_verify(assertion_counter)
         | 
| 21 | 
            +
                        rescue Mocha::ExpectationError => e
         | 
| 22 | 
            +
                          add_failure(e.message, e.backtrace)
         | 
| 23 | 
            +
                        rescue Test::Unit::AssertionFailedError => e
         | 
| 24 | 
            +
                          add_failure(e.message, e.backtrace)
         | 
| 25 | 
            +
                        rescue Exception
         | 
| 26 | 
            +
                          raise if Test::Unit::TestCase::PASSTHROUGH_EXCEPTIONS.include? $!.class
         | 
| 27 | 
            +
                          add_error($!)
         | 
| 28 | 
            +
                        ensure
         | 
| 29 | 
            +
                          begin
         | 
| 30 | 
            +
                            teardown
         | 
| 31 | 
            +
                          rescue Test::Unit::AssertionFailedError => e
         | 
| 32 | 
            +
                            add_failure(e.message, e.backtrace)
         | 
| 33 | 
            +
                          rescue Exception
         | 
| 34 | 
            +
                            raise if Test::Unit::TestCase::PASSTHROUGH_EXCEPTIONS.include? $!.class
         | 
| 35 | 
            +
                            add_error($!)
         | 
| 36 | 
            +
                          end
         | 
| 37 | 
            +
                        end
         | 
| 38 | 
            +
                      ensure
         | 
| 39 | 
            +
                        mocha_teardown
         | 
| 40 | 
            +
                      end
         | 
| 41 | 
            +
                      result.add_run
         | 
| 42 | 
            +
                      yield(Test::Unit::TestCase::FINISHED, name)
         | 
| 43 | 
            +
                    end
         | 
| 44 | 
            +
                  end
         | 
| 45 | 
            +
                  
         | 
| 46 | 
            +
                end
         | 
| 47 | 
            +
                
         | 
| 48 | 
            +
              end
         | 
| 49 | 
            +
              
         | 
| 50 | 
            +
            end
         | 
| @@ -41,6 +41,7 @@ module Mocha | |
| 41 41 |  | 
| 42 42 | 
             
                  def matches?(available_parameters)
         | 
| 43 43 | 
             
                    parameter = available_parameters.shift
         | 
| 44 | 
            +
                    return false unless parameter.respond_to?(:keys) && parameter.respond_to?(:[])
         | 
| 44 45 | 
             
                    matching_keys = parameter.keys.select { |key| @key.to_matcher.matches?([key]) }
         | 
| 45 46 | 
             
                    matching_keys.any? { |key| @value.to_matcher.matches?([parameter[key]]) }
         | 
| 46 47 | 
             
                  end
         | 
    
        data/lib/mocha_standalone.rb
    CHANGED
    
    | @@ -1,2 +1,2 @@ | |
| 1 | 
            -
            require 'mocha/ | 
| 2 | 
            -
            require 'mocha/object'
         | 
| 1 | 
            +
            require 'mocha/api'
         | 
| 2 | 
            +
            require 'mocha/object'
         | 
| @@ -7,7 +7,7 @@ end | |
| 7 7 |  | 
| 8 8 | 
             
            class NotATestUnitTestCase
         | 
| 9 9 |  | 
| 10 | 
            -
              include Mocha:: | 
| 10 | 
            +
              include Mocha::API
         | 
| 11 11 |  | 
| 12 12 | 
             
              attr_reader :assertion_counter
         | 
| 13 13 |  | 
| @@ -87,7 +87,7 @@ end | |
| 87 87 |  | 
| 88 88 | 
             
            require 'test/unit'
         | 
| 89 89 |  | 
| 90 | 
            -
            class  | 
| 90 | 
            +
            class APITest < Test::Unit::TestCase
         | 
| 91 91 |  | 
| 92 92 | 
             
              attr_reader :sample_test
         | 
| 93 93 |  | 
| @@ -14,7 +14,7 @@ class Bug21465Test < Test::Unit::TestCase | |
| 14 14 | 
             
              end
         | 
| 15 15 |  | 
| 16 16 | 
             
              def test_should_allow_expected_method_name_to_be_a_string
         | 
| 17 | 
            -
                test_result =  | 
| 17 | 
            +
                test_result = run_as_test do
         | 
| 18 18 | 
             
                  mock = mock()
         | 
| 19 19 | 
             
                  mock.expects('wibble')
         | 
| 20 20 | 
             
                  mock.wibble
         | 
| @@ -23,7 +23,7 @@ class Bug21465Test < Test::Unit::TestCase | |
| 23 23 | 
             
              end
         | 
| 24 24 |  | 
| 25 25 | 
             
              def test_should_allow_stubbed_method_name_to_be_a_string
         | 
| 26 | 
            -
                test_result =  | 
| 26 | 
            +
                test_result = run_as_test do
         | 
| 27 27 | 
             
                  mock = mock()
         | 
| 28 28 | 
             
                  mock.stubs('wibble')
         | 
| 29 29 | 
             
                  mock.wibble
         | 
| @@ -14,7 +14,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 14 14 | 
             
              end
         | 
| 15 15 |  | 
| 16 16 | 
             
              def test_should_pass_if_method_is_never_expected_and_is_never_called
         | 
| 17 | 
            -
                test_result =  | 
| 17 | 
            +
                test_result = run_as_test do
         | 
| 18 18 | 
             
                  mock = mock('mock')
         | 
| 19 19 | 
             
                  mock.expects(:method).never
         | 
| 20 20 | 
             
                  0.times { mock.method }
         | 
| @@ -23,7 +23,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 23 23 | 
             
              end
         | 
| 24 24 |  | 
| 25 25 | 
             
              def test_should_fail_fast_if_method_is_never_expected_but_is_called_once
         | 
| 26 | 
            -
                test_result =  | 
| 26 | 
            +
                test_result = run_as_test do
         | 
| 27 27 | 
             
                  mock = mock('mock')
         | 
| 28 28 | 
             
                  mock.expects(:method).never
         | 
| 29 29 | 
             
                  1.times { mock.method }
         | 
| @@ -33,7 +33,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 33 33 | 
             
              end
         | 
| 34 34 |  | 
| 35 35 | 
             
              def test_should_pass_if_method_is_expected_twice_and_is_called_twice
         | 
| 36 | 
            -
                test_result =  | 
| 36 | 
            +
                test_result = run_as_test do
         | 
| 37 37 | 
             
                  mock = mock('mock')
         | 
| 38 38 | 
             
                  mock.expects(:method).twice
         | 
| 39 39 | 
             
                  2.times { mock.method }
         | 
| @@ -42,7 +42,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 42 42 | 
             
              end
         | 
| 43 43 |  | 
| 44 44 | 
             
              def test_should_fail_if_method_is_expected_twice_but_is_called_once
         | 
| 45 | 
            -
                test_result =  | 
| 45 | 
            +
                test_result = run_as_test do
         | 
| 46 46 | 
             
                  mock = mock('mock')
         | 
| 47 47 | 
             
                  mock.expects(:method).twice
         | 
| 48 48 | 
             
                  1.times { mock.method }
         | 
| @@ -52,7 +52,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 52 52 | 
             
              end
         | 
| 53 53 |  | 
| 54 54 | 
             
              def test_should_fail_fast_if_method_is_expected_twice_but_is_called_three_times
         | 
| 55 | 
            -
                test_result =  | 
| 55 | 
            +
                test_result = run_as_test do
         | 
| 56 56 | 
             
                  mock = mock('mock')
         | 
| 57 57 | 
             
                  mock.expects(:method).twice
         | 
| 58 58 | 
             
                  3.times { mock.method }
         | 
| @@ -62,7 +62,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 62 62 | 
             
              end
         | 
| 63 63 |  | 
| 64 64 | 
             
              def test_should_pass_if_method_is_expected_between_two_and_four_times_and_is_called_twice
         | 
| 65 | 
            -
                test_result =  | 
| 65 | 
            +
                test_result = run_as_test do
         | 
| 66 66 | 
             
                  mock = mock('mock')
         | 
| 67 67 | 
             
                  mock.expects(:method).times(2..4)
         | 
| 68 68 | 
             
                  2.times { mock.method }
         | 
| @@ -71,7 +71,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 71 71 | 
             
              end
         | 
| 72 72 |  | 
| 73 73 | 
             
              def test_should_pass_if_method_is_expected_between_two_and_four_times_and_is_called_three_times
         | 
| 74 | 
            -
                test_result =  | 
| 74 | 
            +
                test_result = run_as_test do
         | 
| 75 75 | 
             
                  mock = mock('mock')
         | 
| 76 76 | 
             
                  mock.expects(:method).times(2..4)
         | 
| 77 77 | 
             
                  3.times { mock.method }
         | 
| @@ -80,7 +80,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 80 80 | 
             
              end
         | 
| 81 81 |  | 
| 82 82 | 
             
              def test_should_pass_if_method_is_expected_between_two_and_four_times_and_is_called_four_times
         | 
| 83 | 
            -
                test_result =  | 
| 83 | 
            +
                test_result = run_as_test do
         | 
| 84 84 | 
             
                  mock = mock('mock')
         | 
| 85 85 | 
             
                  mock.expects(:method).times(2..4)
         | 
| 86 86 | 
             
                  4.times { mock.method }
         | 
| @@ -89,7 +89,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 89 89 | 
             
              end
         | 
| 90 90 |  | 
| 91 91 | 
             
              def test_should_fail_if_method_is_expected_between_two_and_four_times_and_is_called_once
         | 
| 92 | 
            -
                test_result =  | 
| 92 | 
            +
                test_result = run_as_test do
         | 
| 93 93 | 
             
                  mock = mock('mock')
         | 
| 94 94 | 
             
                  mock.expects(:method).times(2..4)
         | 
| 95 95 | 
             
                  1.times { mock.method }
         | 
| @@ -99,7 +99,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 99 99 | 
             
              end
         | 
| 100 100 |  | 
| 101 101 | 
             
              def test_should_fail_fast_if_method_is_expected_between_two_and_four_times_and_is_called_five_times
         | 
| 102 | 
            -
                test_result =  | 
| 102 | 
            +
                test_result = run_as_test do
         | 
| 103 103 | 
             
                  mock = mock('mock')
         | 
| 104 104 | 
             
                  mock.expects(:method).times(2..4)
         | 
| 105 105 | 
             
                  5.times { mock.method }
         | 
| @@ -109,7 +109,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 109 109 | 
             
              end
         | 
| 110 110 |  | 
| 111 111 | 
             
              def test_should_pass_if_method_is_expected_at_least_once_and_is_called_once
         | 
| 112 | 
            -
                test_result =  | 
| 112 | 
            +
                test_result = run_as_test do
         | 
| 113 113 | 
             
                  mock = mock('mock')
         | 
| 114 114 | 
             
                  mock.expects(:method).at_least_once
         | 
| 115 115 | 
             
                  1.times { mock.method }
         | 
| @@ -118,7 +118,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 118 118 | 
             
              end
         | 
| 119 119 |  | 
| 120 120 | 
             
              def test_should_pass_if_method_is_expected_at_least_once_and_is_called_twice
         | 
| 121 | 
            -
                test_result =  | 
| 121 | 
            +
                test_result = run_as_test do
         | 
| 122 122 | 
             
                  mock = mock('mock')
         | 
| 123 123 | 
             
                  mock.expects(:method).at_least_once
         | 
| 124 124 | 
             
                  2.times { mock.method }
         | 
| @@ -127,7 +127,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 127 127 | 
             
              end
         | 
| 128 128 |  | 
| 129 129 | 
             
              def test_should_fail_if_method_is_expected_at_least_once_but_is_never_called
         | 
| 130 | 
            -
                test_result =  | 
| 130 | 
            +
                test_result = run_as_test do
         | 
| 131 131 | 
             
                  mock = mock('mock')
         | 
| 132 132 | 
             
                  mock.expects(:method).at_least_once
         | 
| 133 133 | 
             
                  0.times { mock.method }
         | 
| @@ -137,7 +137,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 137 137 | 
             
              end
         | 
| 138 138 |  | 
| 139 139 | 
             
              def test_should_pass_if_method_is_expected_at_most_once_and_is_never_called
         | 
| 140 | 
            -
                test_result =  | 
| 140 | 
            +
                test_result = run_as_test do
         | 
| 141 141 | 
             
                  mock = mock('mock')
         | 
| 142 142 | 
             
                  mock.expects(:method).at_most_once
         | 
| 143 143 | 
             
                  0.times { mock.method }
         | 
| @@ -146,7 +146,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 146 146 | 
             
              end
         | 
| 147 147 |  | 
| 148 148 | 
             
              def test_should_pass_if_method_is_expected_at_most_once_and_called_once
         | 
| 149 | 
            -
                test_result =  | 
| 149 | 
            +
                test_result = run_as_test do
         | 
| 150 150 | 
             
                  mock = mock('mock')
         | 
| 151 151 | 
             
                  mock.expects(:method).at_most_once
         | 
| 152 152 | 
             
                  1.times { mock.method }
         | 
| @@ -155,7 +155,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 155 155 | 
             
              end
         | 
| 156 156 |  | 
| 157 157 | 
             
              def test_should_fail_fast_if_method_is_expected_at_most_once_but_is_called_twice
         | 
| 158 | 
            -
                test_result =  | 
| 158 | 
            +
                test_result = run_as_test do
         | 
| 159 159 | 
             
                  mock = mock('mock')
         | 
| 160 160 | 
             
                  mock.expects(:method).at_most_once
         | 
| 161 161 | 
             
                  2.times { mock.method }
         | 
| @@ -165,7 +165,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 165 165 | 
             
              end
         | 
| 166 166 |  | 
| 167 167 | 
             
              def test_should_pass_if_method_is_never_expected_and_is_never_called_even_if_everything_is_stubbed
         | 
| 168 | 
            -
                test_result =  | 
| 168 | 
            +
                test_result = run_as_test do
         | 
| 169 169 | 
             
                  stub = stub_everything('stub')
         | 
| 170 170 | 
             
                  stub.expects(:method).never
         | 
| 171 171 | 
             
                  0.times { stub.method }
         | 
| @@ -174,7 +174,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 174 174 | 
             
              end
         | 
| 175 175 |  | 
| 176 176 | 
             
              def test_should_fail_fast_if_method_is_never_expected_but_is_called_once_even_if_everything_is_stubbed
         | 
| 177 | 
            -
                test_result =  | 
| 177 | 
            +
                test_result = run_as_test do
         | 
| 178 178 | 
             
                  stub = stub_everything('stub')
         | 
| 179 179 | 
             
                  stub.expects(:method).never
         | 
| 180 180 | 
             
                  1.times { stub.method }
         | 
| @@ -184,7 +184,7 @@ class ExpectedInvocationCountTest < Test::Unit::TestCase | |
| 184 184 | 
             
              end
         | 
| 185 185 |  | 
| 186 186 | 
             
              def test_should_fail_fast_if_there_is_no_matching_expectation
         | 
| 187 | 
            -
                test_result =  | 
| 187 | 
            +
                test_result = run_as_test do
         | 
| 188 188 | 
             
                  mock = mock('mock')
         | 
| 189 189 | 
             
                  mock.expects(:method).with(1)
         | 
| 190 190 | 
             
                  1.times { mock.method }
         | 
| @@ -18,28 +18,28 @@ class FailureMessagesTest < Test::Unit::TestCase | |
| 18 18 | 
             
              class Foo; end
         | 
| 19 19 |  | 
| 20 20 | 
             
              def test_should_display_class_name_when_expectation_was_on_class
         | 
| 21 | 
            -
                test_result =  | 
| 21 | 
            +
                test_result = run_as_test do
         | 
| 22 22 | 
             
                  Foo.expects(:bar)
         | 
| 23 23 | 
             
                end
         | 
| 24 24 | 
             
                assert_match Regexp.new('FailureMessagesTest::Foo'), test_result.failures[0].message
         | 
| 25 25 | 
             
              end
         | 
| 26 26 |  | 
| 27 27 | 
             
              def test_should_display_class_name_and_address_when_expectation_was_on_instance
         | 
| 28 | 
            -
                test_result =  | 
| 28 | 
            +
                test_result = run_as_test do
         | 
| 29 29 | 
             
                  Foo.new.expects(:bar)
         | 
| 30 30 | 
             
                end
         | 
| 31 31 | 
             
                assert_match Regexp.new("#<FailureMessagesTest::Foo:#{OBJECT_ADDRESS_PATTERN}>"), test_result.failures[0].message
         | 
| 32 32 | 
             
              end
         | 
| 33 33 |  | 
| 34 34 | 
             
              def test_should_display_class_name_and_any_instance_prefix_when_expectation_was_on_any_instance
         | 
| 35 | 
            -
                test_result =  | 
| 35 | 
            +
                test_result = run_as_test do
         | 
| 36 36 | 
             
                  Foo.any_instance.expects(:bar)
         | 
| 37 37 | 
             
                end
         | 
| 38 38 | 
             
                assert_match Regexp.new('#<AnyInstance:FailureMessagesTest::Foo>'), test_result.failures[0].message
         | 
| 39 39 | 
             
              end
         | 
| 40 40 |  | 
| 41 41 | 
             
              def test_should_display_mock_name_when_expectation_was_on_named_mock
         | 
| 42 | 
            -
                test_result =  | 
| 42 | 
            +
                test_result = run_as_test do
         | 
| 43 43 | 
             
                  foo = mock('foo')
         | 
| 44 44 | 
             
                  foo.expects(:bar)
         | 
| 45 45 | 
             
                end
         | 
| @@ -47,7 +47,7 @@ class FailureMessagesTest < Test::Unit::TestCase | |
| 47 47 | 
             
              end
         | 
| 48 48 |  | 
| 49 49 | 
             
              def test_should_display_mock_address_when_expectation_was_on_unnamed_mock
         | 
| 50 | 
            -
                test_result =  | 
| 50 | 
            +
                test_result = run_as_test do
         | 
| 51 51 | 
             
                  foo = mock()
         | 
| 52 52 | 
             
                  foo.expects(:bar)
         | 
| 53 53 | 
             
                end
         | 
| @@ -55,7 +55,7 @@ class FailureMessagesTest < Test::Unit::TestCase | |
| 55 55 | 
             
              end
         | 
| 56 56 |  | 
| 57 57 | 
             
              def test_should_display_string_when_expectation_was_on_string
         | 
| 58 | 
            -
                test_result =  | 
| 58 | 
            +
                test_result = run_as_test do
         | 
| 59 59 | 
             
                  'Foo'.expects(:bar)
         | 
| 60 60 | 
             
                end
         | 
| 61 61 | 
             
                assert_match Regexp.new("'Foo'"), test_result.failures[0].message
         | 
| @@ -1,7 +1,22 @@ | |
| 1 1 | 
             
            require File.join(File.dirname(__FILE__), "acceptance_test_helper")
         | 
| 2 | 
            -
             | 
| 2 | 
            +
             | 
| 3 | 
            +
            begin
         | 
| 4 | 
            +
              require 'rubygems'
         | 
| 5 | 
            +
              gem 'minitest'
         | 
| 6 | 
            +
            rescue Gem::LoadError
         | 
| 7 | 
            +
              # MiniTest gem not available
         | 
| 8 | 
            +
            end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            begin
         | 
| 11 | 
            +
              require 'minitest/unit'
         | 
| 12 | 
            +
            rescue LoadError
         | 
| 13 | 
            +
              # MiniTest not available
         | 
| 14 | 
            +
            end
         | 
| 3 15 |  | 
| 4 16 | 
             
            if defined?(MiniTest)
         | 
| 17 | 
            +
              
         | 
| 18 | 
            +
              # monkey-patch MiniTest now that it has hopefully been loaded
         | 
| 19 | 
            +
              require 'mocha/integration/mini_test'
         | 
| 5 20 |  | 
| 6 21 | 
             
              class MiniTestSampleTest < MiniTest::Unit::TestCase
         | 
| 7 22 |  | 
| @@ -46,7 +61,7 @@ if defined?(MiniTest) | |
| 46 61 |  | 
| 47 62 | 
             
              end
         | 
| 48 63 |  | 
| 49 | 
            -
              class  | 
| 64 | 
            +
              class MiniTestTest < Test::Unit::TestCase
         | 
| 50 65 |  | 
| 51 66 | 
             
                def setup
         | 
| 52 67 | 
             
                  @output = StringIO.new
         | 
| @@ -59,14 +74,16 @@ if defined?(MiniTest) | |
| 59 74 | 
             
                def test_should_pass_mocha_test
         | 
| 60 75 | 
             
                  runner.run(%w(-n test_mocha_with_fulfilled_expectation))
         | 
| 61 76 |  | 
| 77 | 
            +
                  assert_equal 0, runner.failures
         | 
| 62 78 | 
             
                  assert_equal 0, runner.errors
         | 
| 63 79 | 
             
                  assert_equal 1, runner.assertion_count
         | 
| 64 80 | 
             
                end
         | 
| 65 81 |  | 
| 66 82 | 
             
                def test_should_fail_mocha_test_due_to_unfulfilled_expectation
         | 
| 67 83 | 
             
                  runner.run(%w(-n test_mocha_with_unfulfilled_expectation))
         | 
| 68 | 
            -
             | 
| 69 | 
            -
                  assert_equal 1, runner. | 
| 84 | 
            +
                  
         | 
| 85 | 
            +
                  assert_equal 1, runner.failures
         | 
| 86 | 
            +
                  assert_equal 0, runner.errors
         | 
| 70 87 | 
             
                  assert_equal 1, runner.assertion_count
         | 
| 71 88 | 
             
                  assert_not_all_expectation_were_satisfied
         | 
| 72 89 | 
             
                end
         | 
| @@ -74,7 +91,8 @@ if defined?(MiniTest) | |
| 74 91 | 
             
                def test_should_fail_mocha_test_due_to_unexpected_invocation
         | 
| 75 92 | 
             
                  runner.run(%w(-n test_mocha_with_unexpected_invocation))
         | 
| 76 93 |  | 
| 77 | 
            -
                  assert_equal 1, runner. | 
| 94 | 
            +
                  assert_equal 1, runner.failures
         | 
| 95 | 
            +
                  assert_equal 0, runner.errors
         | 
| 78 96 | 
             
                  assert_equal 0, runner.assertion_count
         | 
| 79 97 | 
             
                  assert_unexpected_invocation
         | 
| 80 98 | 
             
                end
         | 
| @@ -82,6 +100,7 @@ if defined?(MiniTest) | |
| 82 100 | 
             
                def test_should_pass_stubba_test
         | 
| 83 101 | 
             
                  runner.run(%w(-n test_stubba_with_fulfilled_expectation))
         | 
| 84 102 |  | 
| 103 | 
            +
                  assert_equal 0, runner.failures
         | 
| 85 104 | 
             
                  assert_equal 0, runner.errors
         | 
| 86 105 | 
             
                  assert_equal 1, runner.assertion_count
         | 
| 87 106 | 
             
                end
         | 
| @@ -89,22 +108,26 @@ if defined?(MiniTest) | |
| 89 108 | 
             
                def test_should_fail_stubba_test_due_to_unfulfilled_expectation
         | 
| 90 109 | 
             
                  runner.run(%w(-n test_stubba_with_unfulfilled_expectation))
         | 
| 91 110 |  | 
| 92 | 
            -
                  assert_equal 1, runner. | 
| 111 | 
            +
                  assert_equal 1, runner.failures
         | 
| 112 | 
            +
                  assert_equal 0, runner.errors
         | 
| 93 113 | 
             
                  assert_equal 1, runner.assertion_count
         | 
| 94 | 
            -
                   | 
| 114 | 
            +
                  assert_not_all_expectation_were_satisfied
         | 
| 95 115 | 
             
                end
         | 
| 96 116 |  | 
| 97 117 | 
             
                def test_should_pass_mocha_test_with_matching_parameter
         | 
| 98 118 | 
             
                  runner.run(%w(-n test_mocha_with_matching_parameter))
         | 
| 99 119 |  | 
| 120 | 
            +
                  assert_equal 0, runner.failures
         | 
| 100 121 | 
             
                  assert_equal 0, runner.errors
         | 
| 101 122 | 
             
                  assert_equal 1, runner.assertion_count
         | 
| 102 123 | 
             
                end
         | 
| 103 124 |  | 
| 104 125 | 
             
                def test_should_fail_mocha_test_with_non_matching_parameter
         | 
| 105 126 | 
             
                  runner.run(%w(-n test_mocha_with_non_matching_parameter))
         | 
| 106 | 
            -
             | 
| 107 | 
            -
                  assert_equal 1, runner. | 
| 127 | 
            +
                  
         | 
| 128 | 
            +
                  assert_equal 1, runner.failures
         | 
| 129 | 
            +
                  assert_equal 0, runner.errors
         | 
| 130 | 
            +
                  assert_equal 0, runner.assertion_count # unexpected invocation occurs before expectation is verified
         | 
| 108 131 | 
             
                  assert_unexpected_invocation
         | 
| 109 132 | 
             
                end
         | 
| 110 133 |  |