Defect #3692 » mailer_trailing_slash_fix.patch
app/models/mailer.rb (working copy) | ||
---|---|---|
27 | 27 |
def self.default_url_options |
28 | 28 |
h = Setting.host_name |
29 | 29 |
h = h.to_s.gsub(%r{\/.*$}, '') unless Redmine::Utils.relative_url_root.blank? |
30 |
# Ensure that a trailing slash of the Settings.host_name will be removed. |
|
31 |
h.gsub!(/\/$/, '') |
|
30 | 32 |
{ :host => h, :protocol => Setting.protocol } |
31 | 33 |
end |
32 | 34 |
|
test/unit/mailer_test.rb (working copy) | ||
---|---|---|
48 | 48 |
end |
49 | 49 |
end |
50 | 50 |
|
51 |
def test_generated_links_in_emails_with_trailing_slash |
|
52 |
Setting.host_name = 'mydomain.foo/' |
|
53 |
Setting.protocol = 'https' |
|
54 |
|
|
55 |
journal = Journal.find(2) |
|
56 |
assert Mailer.deliver_issue_edit(journal) |
|
57 |
|
|
58 |
mail = ActionMailer::Base.deliveries.last |
|
59 |
assert_kind_of TMail::Mail, mail |
|
60 |
|
|
61 |
assert_select_email do |
|
62 |
# link to the main ticket |
|
63 |
assert_select "a[href=?]", "https://mydomain.foo/issues/1", :text => "Bug #1: Can't print recipes" |
|
64 |
# link to a referenced ticket |
|
65 |
assert_select "a[href=?][title=?]", "https://mydomain.foo/issues/2", "Add ingredients categories (Assigned)", :text => "#2" |
|
66 |
# link to a changeset |
|
67 |
assert_select "a[href=?][title=?]", "https://mydomain.foo/projects/ecookbook/repository/revisions/2", "This commit fixes #1, #2 and references #1 & #3", :text => "r2" |
|
68 |
end |
|
69 |
end |
|
70 |
|
|
51 | 71 |
def test_generated_links_with_prefix |
52 | 72 |
relative_url_root = Redmine::Utils.relative_url_root |
53 | 73 |
Setting.host_name = 'mydomain.foo/rdm' |