Skip to content

Commit

Permalink
Each integration module can know what MiniTest version it supports.
Browse files Browse the repository at this point in the history
  • Loading branch information
floehopper committed Aug 27, 2012
1 parent 3e189b7 commit 024fdb8
Show file tree
Hide file tree
Showing 12 changed files with 49 additions and 97 deletions.
4 changes: 4 additions & 0 deletions lib/mocha/adapters/mini_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ def increment

include Mocha::API

def self.applicable_to?(mini_test_version)
Gem::Requirement.new('>= 3.3.0').satisfied_by?(mini_test_version)
end

def self.description
"adapter for MiniTest gem >= v3.3.0"
end
Expand Down
44 changes: 18 additions & 26 deletions lib/mocha/integration/mini_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,32 +21,24 @@

$stderr.puts "Detected MiniTest version: #{mini_test_version}" if $mocha_options['debug']

minitest_integration_module = if Gem::Requirement.new('>= 1.3.0', '<= 1.3.1').satisfied_by?(mini_test_version)
minitest_integration_module = [
Mocha::Adapters::MiniTest,
Mocha::Integration::MiniTest::Version2112To320,
Mocha::Integration::MiniTest::Version2110To2111,
Mocha::Integration::MiniTest::Version230To2101,
Mocha::Integration::MiniTest::Version201To222,
Mocha::Integration::MiniTest::Version200,
Mocha::Integration::MiniTest::Version142To172,
Mocha::Integration::MiniTest::Version141,
Mocha::Integration::MiniTest::Version140,
Mocha::Integration::MiniTest::Version13
elsif Gem::Requirement.new('1.4.0').satisfied_by?(mini_test_version)
Mocha::Integration::MiniTest::Version140
elsif Gem::Requirement.new('1.4.1').satisfied_by?(mini_test_version)
Mocha::Integration::MiniTest::Version141
elsif Gem::Requirement.new('>= 1.4.2', '<= 1.7.2').satisfied_by?(mini_test_version)
Mocha::Integration::MiniTest::Version142To172
elsif Gem::Requirement.new('2.0.0').satisfied_by?(mini_test_version)
Mocha::Integration::MiniTest::Version200
elsif Gem::Requirement.new('>= 2.0.1', '<= 2.2.2').satisfied_by?(mini_test_version)
Mocha::Integration::MiniTest::Version201To222
elsif Gem::Requirement.new('>= 2.3.0', '<= 2.10.1').satisfied_by?(mini_test_version)
Mocha::Integration::MiniTest::Version230To2101
elsif Gem::Requirement.new('>= 2.11.0', '<= 2.11.1').satisfied_by?(mini_test_version)
Mocha::Integration::MiniTest::Version2110To2111
elsif Gem::Requirement.new('>= 2.11.2', '<= 3.2.0').satisfied_by?(mini_test_version)
Mocha::Integration::MiniTest::Version2112To320
elsif Gem::Requirement.new('>= 3.3.0').satisfied_by?(mini_test_version)
Mocha::Adapters::MiniTest
else
$stderr.puts "*** No Mocha monkey-patch for MiniTest version ***" if $mocha_options['debug']
nil
end
].detect { |m| m.applicable_to?(mini_test_version) }

if minitest_integration_module && !MiniTest::Unit::TestCase.ancestors.include?(minitest_integration_module)
$stderr.puts "Applying #{minitest_integration_module.description}" if $mocha_options['debug']
MiniTest::Unit::TestCase.send(:include, minitest_integration_module)
if minitest_integration_module
unless MiniTest::Unit::TestCase.ancestors.include?(minitest_integration_module)
$stderr.puts "Applying #{minitest_integration_module.description}" if $mocha_options['debug']
MiniTest::Unit::TestCase.send(:include, minitest_integration_module)
end
else
$stderr.puts "*** No Mocha integration for MiniTest version ***" if $mocha_options['debug']
end
3 changes: 3 additions & 0 deletions lib/mocha/integration/mini_test/version_13.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ module Integration
module MiniTest

module Version13
def self.applicable_to?(mini_test_version)
Gem::Requirement.new('>= 1.3.0', '<= 1.3.1').satisfied_by?(mini_test_version)
end
def self.description
"monkey patch for MiniTest gem v1.3"
end
Expand Down
3 changes: 3 additions & 0 deletions lib/mocha/integration/mini_test/version_140.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ module Integration
module MiniTest

module Version140
def self.applicable_to?(mini_test_version)
Gem::Requirement.new('1.4.0').satisfied_by?(mini_test_version)
end
def self.description
"monkey patch for MiniTest gem v1.4.0"
end
Expand Down
3 changes: 3 additions & 0 deletions lib/mocha/integration/mini_test/version_141.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ module Integration
module MiniTest

module Version141
def self.applicable_to?(mini_test_version)
Gem::Requirement.new('1.4.1').satisfied_by?(mini_test_version)
end
def self.description
"monkey patch for MiniTest gem v1.4.1"
end
Expand Down
3 changes: 3 additions & 0 deletions lib/mocha/integration/mini_test/version_142_to_172.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ module Integration
module MiniTest

module Version142To172
def self.applicable_to?(mini_test_version)
Gem::Requirement.new('>= 1.4.2', '<= 1.7.2').satisfied_by?(mini_test_version)
end
def self.description
"monkey patch for MiniTest gem >= v1.4.2 and <= v1.7.2"
end
Expand Down
3 changes: 3 additions & 0 deletions lib/mocha/integration/mini_test/version_200.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ module Integration
module MiniTest

module Version200
def self.applicable_to?(mini_test_version)
Gem::Requirement.new('2.0.0').satisfied_by?(mini_test_version)
end
def self.description
"monkey patch for MiniTest gem v2.0.0"
end
Expand Down
3 changes: 3 additions & 0 deletions lib/mocha/integration/mini_test/version_201_to_222.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ module Integration
module MiniTest

module Version201To222
def self.applicable_to?(mini_test_version)
Gem::Requirement.new('>= 2.0.1', '<= 2.2.2').satisfied_by?(mini_test_version)
end
def self.description
"monkey patch for MiniTest gem >= v2.0.1 <= v2.2.2"
end
Expand Down
3 changes: 3 additions & 0 deletions lib/mocha/integration/mini_test/version_2110_to_2111.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ module Integration
module MiniTest

module Version2110To2111
def self.applicable_to?(mini_test_version)
Gem::Requirement.new('>= 2.11.0', '<= 2.11.1').satisfied_by?(mini_test_version)
end
def self.description
"monkey patch for MiniTest gem >= v2.11.0 <= v2.11.1"
end
Expand Down
3 changes: 3 additions & 0 deletions lib/mocha/integration/mini_test/version_2112_to_320.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ module Integration
module MiniTest

module Version2112To320
def self.applicable_to?(mini_test_version)
Gem::Requirement.new('>= 2.11.2', '<= 3.2.0').satisfied_by?(mini_test_version)
end
def self.description
"monkey patch for MiniTest gem >= v2.11.2 <= v3.2.0"
end
Expand Down
3 changes: 3 additions & 0 deletions lib/mocha/integration/mini_test/version_230_to_2101.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ module Integration
module MiniTest

module Version230To2101
def self.applicable_to?(mini_test_version)
Gem::Requirement.new('>= 2.3.0', '<= 2.10.1').satisfied_by?(mini_test_version)
end
def self.description
"monkey patch for MiniTest gem >= v2.3.0 <= v2.10.1"
end
Expand Down
71 changes: 0 additions & 71 deletions lib/mocha/integration/mini_test/version_330.rb

This file was deleted.

0 comments on commit 024fdb8

Please sign in to comment.