public
Description: Ruby on Rails
Homepage: http://rubyonrails.org
Clone URL: git://github.com/rails/rails.git
Update uses_mocha in ActionMailer and ActiveResource
josh (author)
Sat Jul 19 09:14:12 -0700 2008
commit  b74b97fef5d94f91d6fbf9aec20516c7fe4ce24d
tree    ecd858af818ff85eb36ef4b040de2440b87e5814
parent  8c2e839e5a0fb1662ae867c70114c3fc91850a55
...
30
31
32
33
34
35
 
 
 
 
36
37
38
 
 
 
 
 
 
 
 
 
39
40
41
...
30
31
32
 
 
 
33
34
35
36
37
 
 
38
39
40
41
42
43
44
45
46
47
48
49
0
@@ -30,12 +30,20 @@ class Net::SMTP
0
   end
0
 end
0
 
0
-# Wrap tests that use Mocha and skip if unavailable.
0
-def uses_mocha(test_name)
0
- gem 'mocha', ">=0.9.0"
0
+def uses_gem(gem_name, test_name, version = '> 0')
0
+ require 'rubygems'
0
+ gem gem_name.to_s, version
0
+ require gem_name.to_s
0
   yield
0
-rescue Gem::LoadError
0
- $stderr.puts "Skipping #{test_name} tests (Mocha >= 0.5 is required). `gem install mocha` and try again."
0
+rescue LoadError
0
+ $stderr.puts "Skipping #{test_name} tests. `gem install #{gem_name}` and try again."
0
+end
0
+
0
+# Wrap tests that use Mocha and skip if unavailable.
0
+unless defined? uses_mocha
0
+ def uses_mocha(test_name, &block)
0
+ uses_gem('mocha', test_name, '>= 0.5.5', &block)
0
+ end
0
 end
0
 
0
 def set_delivery_method(delivery_method)
...
9
10
11
 
 
 
 
 
 
 
 
 
12
13
14
15
16
 
 
 
17
18
19
20
21
22
23
 
...
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
 
 
22
23
24
25
 
 
 
 
 
26
27
0
@@ -9,14 +9,18 @@ require 'setter_trap'
0
 
0
 ActiveResource::Base.logger = Logger.new("#{File.dirname(__FILE__)}/debug.log")
0
 
0
+def uses_gem(gem_name, test_name, version = '> 0')
0
+ require 'rubygems'
0
+ gem gem_name.to_s, version
0
+ require gem_name.to_s
0
+ yield
0
+rescue LoadError
0
+ $stderr.puts "Skipping #{test_name} tests. `gem install #{gem_name}` and try again."
0
+end
0
+
0
 # Wrap tests that use Mocha and skip if unavailable.
0
-def uses_mocha(test_name)
0
- unless Object.const_defined?(:Mocha)
0
- require 'mocha'
0
- require 'stubba'
0
+unless defined? uses_mocha
0
+ def uses_mocha(test_name, &block)
0
+ uses_gem('mocha', test_name, '>= 0.5.5', &block)
0
   end
0
- yield
0
-rescue LoadError => load_error
0
- raise unless load_error.message =~ /mocha/i
0
- $stderr.puts "Skipping #{test_name} tests. `gem install mocha` and try again."
0
-end
0
\ No newline at end of file
0
+end

Comments

    No one has commented yet.