Updated README.rdoc again
[feedcatcher.git] / vendor / rails / actionmailer / test / abstract_unit.rb
1 require 'rubygems'
2 require 'test/unit'
3
4 gem 'mocha', '>= 0.9.5'
5 require 'mocha'
6
7 $:.unshift "#{File.dirname(__FILE__)}/../lib"
8 $:.unshift "#{File.dirname(__FILE__)}/../../activesupport/lib"
9 $:.unshift "#{File.dirname(__FILE__)}/../../actionpack/lib"
10 require 'action_mailer'
11 require 'action_mailer/test_case'
12
13 # Show backtraces for deprecated behavior for quicker cleanup.
14 ActiveSupport::Deprecation.debug = true
15
16 # Bogus template processors
17 ActionView::Template.register_template_handler :haml, lambda { |template| "Look its HAML!".inspect }
18 ActionView::Template.register_template_handler :bak, lambda { |template| "Lame backup".inspect }
19
20 $:.unshift "#{File.dirname(__FILE__)}/fixtures/helpers"
21
22 ActionView::Base.cache_template_loading = true
23 FIXTURE_LOAD_PATH = File.join(File.dirname(__FILE__), 'fixtures')
24 ActionMailer::Base.template_root = FIXTURE_LOAD_PATH
25
26 class MockSMTP
27 def self.deliveries
28 @@deliveries
29 end
30
31 def initialize
32 @@deliveries = []
33 end
34
35 def sendmail(mail, from, to)
36 @@deliveries << [mail, from, to]
37 end
38
39 def start(*args)
40 yield self
41 end
42 end
43
44 class Net::SMTP
45 def self.new(*args)
46 MockSMTP.new
47 end
48 end
49
50 def uses_gem(gem_name, test_name, version = '> 0')
51 gem gem_name.to_s, version
52 require gem_name.to_s
53 yield
54 rescue LoadError
55 $stderr.puts "Skipping #{test_name} tests. `gem install #{gem_name}` and try again."
56 end
57
58 def set_delivery_method(delivery_method)
59 @old_delivery_method = ActionMailer::Base.delivery_method
60 ActionMailer::Base.delivery_method = delivery_method
61 end
62
63 def restore_delivery_method
64 ActionMailer::Base.delivery_method = @old_delivery_method
65 end