aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/test/asset_host_test.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-08-29 20:42:09 -0300
committerJosé Valim <jose.valim@gmail.com>2010-08-29 20:42:13 -0300
commit972efa11fd3339117e9f874beb4e85b146212c29 (patch)
treeaebc8436ebdc97179d307c77ce264356904d4448 /actionmailer/test/asset_host_test.rb
parentf5a43138d44455c3da728599af3143950e5fa2a1 (diff)
downloadrails-972efa11fd3339117e9f874beb4e85b146212c29.tar.gz
rails-972efa11fd3339117e9f874beb4e85b146212c29.tar.bz2
rails-972efa11fd3339117e9f874beb4e85b146212c29.zip
Deprecate the old mailer API that was not deprecated yet.
Diffstat (limited to 'actionmailer/test/asset_host_test.rb')
-rw-r--r--actionmailer/test/asset_host_test.rb56
1 files changed, 56 insertions, 0 deletions
diff --git a/actionmailer/test/asset_host_test.rb b/actionmailer/test/asset_host_test.rb
new file mode 100644
index 0000000000..069860ff06
--- /dev/null
+++ b/actionmailer/test/asset_host_test.rb
@@ -0,0 +1,56 @@
+require 'abstract_unit'
+require 'action_controller'
+
+class AssetHostMailer < ActionMailer::Base
+ def email_with_asset
+ mail :to => 'test@localhost',
+ :subject => 'testing email containing asset path while asset_host is set',
+ :from => 'tester@example.com'
+ end
+end
+
+class AssetHostTest < Test::Unit::TestCase
+ def setup
+ set_delivery_method :test
+ ActionMailer::Base.perform_deliveries = true
+ ActionMailer::Base.deliveries.clear
+ AssetHostMailer.configure do |c|
+ c.asset_host = "http://www.example.com"
+ c.assets_dir = ''
+ end
+ end
+
+ def teardown
+ restore_delivery_method
+ end
+
+ def test_asset_host_as_string
+ mail = AssetHostMailer.email_with_asset
+ assert_equal %Q{<img alt="Somelogo" src="http://www.example.com/images/somelogo.png" />}, mail.body.to_s.strip
+ end
+
+ def test_asset_host_as_one_arguement_proc
+ AssetHostMailer.config.asset_host = Proc.new { |source|
+ if source.starts_with?('/images')
+ "http://images.example.com"
+ else
+ "http://assets.example.com"
+ end
+ }
+ mail = AssetHostMailer.email_with_asset
+ assert_equal %Q{<img alt="Somelogo" src="http://images.example.com/images/somelogo.png" />}, mail.body.to_s.strip
+ end
+
+ def test_asset_host_as_two_arguement_proc
+ ActionController::Base.config.asset_host = Proc.new {|source,request|
+ if request && request.ssl?
+ "https://www.example.com"
+ else
+ "http://www.example.com"
+ end
+ }
+ mail = nil
+ assert_nothing_raised { mail = AssetHostMailer.email_with_asset }
+ assert_equal %Q{<img alt="Somelogo" src="http://www.example.com/images/somelogo.png" />}, mail.body.to_s.strip
+ end
+end