rails/actionmailer/test/asset_host_test.rb
Ryuta Kamizono 6a4395f466 Deprecate starts_with? and ends_with? for String core extensions
In the past, we sometimes hit missing `Symbol#start_with?` and
`Symbol#end_with?`.

63256bc5d7
a8e812964d

So I proposed `Symbol#start_with?` and `Symbol#end_with?` to allow duck
typing that methods for String and Symbol, then now it is available in
Ruby 2.7.

https://bugs.ruby-lang.org/issues/16348

Using `String#starts_with?` and `String#ends_with?` could not be gained
that conveniency, so it is preferable to not use these in the future.
2020-05-05 15:51:24 +09:00

40 lines
1.0 KiB
Ruby

# frozen_string_literal: true
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 < ActionMailer::TestCase
def setup
AssetHostMailer.configure do |c|
c.asset_host = "http://www.example.com"
end
end
def teardown
restore_delivery_method
end
def test_asset_host_as_string
mail = AssetHostMailer.email_with_asset
assert_dom_equal '<img src="http://www.example.com/images/somelogo.png" />', mail.body.to_s.strip
end
def test_asset_host_as_one_argument_proc
AssetHostMailer.config.asset_host = Proc.new { |source|
if source.start_with?("/images")
"http://images.example.com"
end
}
mail = AssetHostMailer.email_with_asset
assert_dom_equal '<img src="http://images.example.com/images/somelogo.png" />', mail.body.to_s.strip
end
end