From a6e12c0c21159503cef99fa69be7a708a2d39ed9 Mon Sep 17 00:00:00 2001
From: Jeremy Kemper <jeremy@bitsweat.net>
Date: Sun, 14 Jan 2007 12:49:55 +0000
Subject: Wrap and skip tests using mocha.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5926 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
---
 actionpack/test/abstract_unit.rb               | 10 ++++++++++
 actionpack/test/controller/integration_test.rb |  8 ++------
 actionpack/test/controller/rescue_test.rb      |  5 +++--
 3 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/actionpack/test/abstract_unit.rb b/actionpack/test/abstract_unit.rb
index de4ca439f4..bc7c80f1ce 100644
--- a/actionpack/test/abstract_unit.rb
+++ b/actionpack/test/abstract_unit.rb
@@ -14,3 +14,13 @@ ActiveSupport::Deprecation.debug = true
 ActionController::Base.logger = nil
 ActionController::Base.ignore_missing_templates = false
 ActionController::Routing::Routes.reload rescue nil
+
+
+# Wrap tests that use Mocha and skip if unavailable.
+def uses_mocha(test_name)
+  require 'mocha'
+  require 'stubba'
+  yield
+rescue LoadError
+  $stderr.puts "Skipping #{test_name} tests. `gem install mocha` and try again."
+end
diff --git a/actionpack/test/controller/integration_test.rb b/actionpack/test/controller/integration_test.rb
index 665c5901e5..a26b6eb259 100644
--- a/actionpack/test/controller/integration_test.rb
+++ b/actionpack/test/controller/integration_test.rb
@@ -3,9 +3,7 @@ require File.dirname(__FILE__) + '/../abstract_unit'
 $:.unshift File.dirname(__FILE__) + '/../../../railties/lib'
 require 'action_controller/integration'
 
-begin # rescue LoadError
-require 'mocha'
-require 'stubba'
+uses_mocha 'integration' do
 
 # Stub process for testing.
 module ActionController
@@ -149,6 +147,4 @@ end
 # class MockCGITest < Test::Unit::TestCase
 # end
 
-rescue LoadError
-  $stderr.puts "Skipping integration tests. `gem install mocha` and try again."
-end
+end # uses_mocha
diff --git a/actionpack/test/controller/rescue_test.rb b/actionpack/test/controller/rescue_test.rb
index c7e055a859..aa4d851e8e 100644
--- a/actionpack/test/controller/rescue_test.rb
+++ b/actionpack/test/controller/rescue_test.rb
@@ -1,7 +1,6 @@
 require File.dirname(__FILE__) + '/../abstract_unit'
 
-# gem install mocha
-require 'mocha'
+uses_mocha 'rescue' do
 
 class RescueController < ActionController::Base
   def raises
@@ -210,3 +209,5 @@ class RescueTest < Test::Unit::TestCase
       end
     end
 end
+
+end # uses_mocha
-- 
cgit v1.2.3