diff options
Diffstat (limited to 'activesupport/test/abstract_unit.rb')
-rw-r--r-- | activesupport/test/abstract_unit.rb | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/activesupport/test/abstract_unit.rb b/activesupport/test/abstract_unit.rb index 2cfa245bc8..c2fd943ca0 100644 --- a/activesupport/test/abstract_unit.rb +++ b/activesupport/test/abstract_unit.rb @@ -4,15 +4,26 @@ $:.unshift "#{File.dirname(__FILE__)}/../lib" $:.unshift File.dirname(__FILE__) require 'active_support' +def uses_gem(gem_name, test_name, version = '> 0') + require 'rubygems' + gem gem_name.to_s, version + require gem_name.to_s + yield +rescue LoadError + $stderr.puts "Skipping #{test_name} tests. `gem install #{gem_name}` and try again." +end + # Wrap tests that use Mocha and skip if unavailable. unless defined? uses_mocha - def uses_mocha(test_name) - require 'rubygems' - gem 'mocha', '>= 0.5.5' - require 'mocha' - yield - rescue LoadError - $stderr.puts "Skipping #{test_name} tests. `gem install mocha` and try again." + def uses_mocha(test_name, &block) + uses_gem('mocha', test_name, '>= 0.5.5', &block) + end +end + +# Wrap tests that use TZInfo and skip if unavailable. +unless defined? uses_tzinfo + def uses_tzinfo(test_name, &block) + uses_gem('tzinfo', test_name, &block) end end |