From b2e7686f848d8daf0f3185008fa10a031731750f Mon Sep 17 00:00:00 2001 From: Bartosz Blimke Date: Wed, 26 Jun 2013 23:06:53 +0200 Subject: [PATCH] Minitest < 5.0 compatibility. --- lib/webmock/minitest.rb | 15 ++++++++++++--- minitest/test_helper.rb | 4 +++- minitest/test_webmock.rb | 5 ++++- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/webmock/minitest.rb b/lib/webmock/minitest.rb index 01f817226..dd21faffc 100644 --- a/lib/webmock/minitest.rb +++ b/lib/webmock/minitest.rb @@ -1,7 +1,16 @@ -require 'minitest/test' +begin + require 'minitest/test' + test_class= MiniTest::Test + assertions = "assertions" +rescue LoadError + require "minitest/unit" + test_class = MiniTest::Unit::TestCase + assertions = "_assertions" +end + require 'webmock' -MiniTest::Test.class_eval do +test_class.class_eval do include WebMock::API alias_method :teardown_without_webmock, :teardown @@ -14,7 +23,7 @@ def teardown_with_webmock [:assert_request_requested, :assert_request_not_requested].each do |name| alias_method :"#{name}_without_assertions_count", name define_method :"#{name}_with_assertions_count" do |*args| - self.assertions += 1 + self.send("#{assertions}=", self.send("#{assertions}") + 1) send :"#{name}_without_assertions_count", *args end alias_method name, :"#{name}_with_assertions_count" diff --git a/minitest/test_helper.rb b/minitest/test_helper.rb index f549aed8b..5ea5bd8e0 100644 --- a/minitest/test_helper.rb +++ b/minitest/test_helper.rb @@ -10,7 +10,9 @@ require 'minitest/autorun' require 'webmock/minitest' -class MiniTest::Test +test_class = defined?(MiniTest::Test) ? MiniTest::Test : MiniTest::Unit::TestCase + +test_class.class_eval do def assert_raise(*exp, &block) assert_raises(*exp, &block) diff --git a/minitest/test_webmock.rb b/minitest/test_webmock.rb index d341d4292..6fd0b0b6f 100644 --- a/minitest/test_webmock.rb +++ b/minitest/test_webmock.rb @@ -1,6 +1,9 @@ require File.expand_path(File.dirname(__FILE__) + '/test_helper') require File.expand_path(File.dirname(__FILE__) + '/../test/shared_test') -class MiniTestWebMock < MiniTest::Test +test_class = defined?(MiniTest::Test) ? MiniTest::Test : MiniTest::Unit::TestCase + + +class MiniTestWebMock < test_class include SharedTest end