public
Fork of rails/rails
Description: Ruby on Rails
Homepage: http://rubyonrails.org
Clone URL: git://github.com/jeremy/rails.git
Update uses_mocha in ActionMailer and ActiveResource
josh (author)
Sat Jul 19 09:14:12 -0700 2008
tarmo (committer)
Sun Aug 24 09:45:22 -0700 2008
commit  482f6aa59a2b26101f0e2dd539daa6cf999774ee
tree    419d77cd2e4ee6f84eef38c59550774e23bf119d
parent  4e5e0b7eedd15f23afd15eb8978ff4e24d25eb96
...
30
31
32
33
34
35
36
 
 
 
 
37
38
39
 
 
 
 
 
 
 
 
 
40
41
42
...
30
31
32
 
 
 
 
33
34
35
36
37
 
 
38
39
40
41
42
43
44
45
46
47
48
49
0
@@ -30,13 +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.5"
0
- require 'stubba'
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.