Skip to content

Commit

Permalink
Ensure ActionMailer doesn't blow up when a two argument proc is set f…
Browse files Browse the repository at this point in the history
…or the asset host

Signed-off-by: Michael Koziarski <michael@koziarski.com>
[#1394 state:committed]
  • Loading branch information
tekin authored and NZKoz committed Dec 1, 2008
1 parent bda55f8 commit dab78e5
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 1 deletion.
54 changes: 54 additions & 0 deletions actionmailer/test/asset_host_test.rb
@@ -0,0 +1,54 @@
require 'abstract_unit'

class AssetHostMailer < ActionMailer::Base
def email_with_asset(recipient)
recipients recipient
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 = []

@recipient = 'test@localhost'
end

def teardown
restore_delivery_method
end

def test_asset_host_as_string
ActionController::Base.asset_host = "http://www.example.com"
mail = AssetHostMailer.deliver_email_with_asset(@recipient)
assert_equal "<img alt=\"Somelogo\" src=\"http://www.example.com/images/somelogo.png\" />", mail.body.strip
end

def test_asset_host_as_one_arguement_proc
ActionController::Base.asset_host = Proc.new { |source|
if source.starts_with?('/images')
"http://images.example.com"
else
"http://assets.example.com"
end
}
mail = AssetHostMailer.deliver_email_with_asset(@recipient)
assert_equal "<img alt=\"Somelogo\" src=\"http://images.example.com/images/somelogo.png\" />", mail.body.strip
end

def test_asset_host_as_two_arguement_proc
ActionController::Base.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.deliver_email_with_asset(@recipient) }
assert_equal "<img alt=\"Somelogo\" src=\"http://www.example.com/images/somelogo.png\" />", mail.body.strip
end
end
@@ -0,0 +1 @@
<%= image_tag "somelogo.png" %>
2 changes: 1 addition & 1 deletion actionpack/lib/action_view/helpers/asset_tag_helper.rb
Expand Up @@ -574,7 +574,7 @@ def mtime

private
def request
@controller.request
request? && @controller.request
end

def request?
Expand Down

0 comments on commit dab78e5

Please sign in to comment.