Sha256: b80464ee36cad952e8db041619f3cc77e5b0dbb37691f731510dbdfb5ce7873e

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

require 'mocha/options'

module Mocha

  module Integration

    class << self

      def monkey_patches
        patches = []
        if test_unit_testcase_defined? && !test_unit_testcase_inherits_from_miniunit_testcase?
          patches << 'mocha/integration/test_unit'
        end
        if mini_test_testcase_defined?
          patches << 'mocha/integration/mini_test'
        end
        patches
      end

      def test_unit_testcase_defined?
        defined?(Test::Unit::TestCase)
      end

      def mini_test_testcase_defined?
        defined?(MiniTest::Unit::TestCase)
      end

      def test_unit_testcase_inherits_from_miniunit_testcase?
        test_unit_testcase_defined? && mini_test_testcase_defined? && Test::Unit::TestCase.ancestors.include?(MiniTest::Unit::TestCase)
      end

    end

  end

end

unless Mocha::Integration.monkey_patches.any? || $mocha_options["skip_integration"]
  raise "Test::Unit or MiniTest must be loaded *before* Mocha (use MOCHA_OPTIONS=skip_integration if you know what you are doing)."
end

Mocha::Integration.monkey_patches.each do |patch|
  require patch
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mocha-0.12.0 lib/mocha/integration.rb