aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/test_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activemodel/test/test_helper.rb')
-rw-r--r--activemodel/test/test_helper.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/activemodel/test/test_helper.rb b/activemodel/test/test_helper.rb
new file mode 100644
index 0000000000..8e608fa0bc
--- /dev/null
+++ b/activemodel/test/test_helper.rb
@@ -0,0 +1,23 @@
+$:.unshift "#{File.dirname(__FILE__)}/../lib"
+$:.unshift File.dirname(__FILE__)
+
+require 'test/unit'
+require 'active_model'
+require 'active_support/callbacks' # needed by ActiveSupport::TestCase
+require 'active_support/test_case'
+
+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, &block)
+ uses_gem('mocha', test_name, '>= 0.5.5', &block)
+ end
+end