Defect #19735 ยป allow-slashes-in-local-part.diff
lib/redmine/wiki_formatting.rb (working copy) | ||
---|---|---|
135 | 135 | |
136 | 136 |
# Destructively replaces email addresses into clickable links |
137 | 137 |
def auto_mailto!(text) |
138 |
text.gsub!(/([\w\.!#\$%\-+.]+@[A-Za-z0-9\-]+(\.[A-Za-z0-9\-]+)+)/) do |
|
138 |
text.gsub!(/([\w\.!#\$%\-+.\/]+@[A-Za-z0-9\-]+(\.[A-Za-z0-9\-]+)+)/) do
|
|
139 | 139 |
mail = $1 |
140 | 140 |
if text.match(/<a\b[^>]*>(.*)(#{Regexp.escape(mail)})(.*)<\/a>/) |
141 | 141 |
|
test/unit/lib/redmine/wiki_formatting_test.rb (working copy) | ||
---|---|---|
37 | 37 |
def test_should_link_urls_and_email_addresses |
38 | 38 |
raw = <<-DIFF |
39 | 39 |
This is a sample *text* with a link: http://www.redmine.org |
40 |
and an email address foo@example.net
|
|
40 |
and email addresses foo@example.net and foo/bar@example.net
|
|
41 | 41 |
DIFF |
42 | 42 | |
43 | 43 |
expected = <<-EXPECTED |
44 | 44 |
<p>This is a sample *text* with a link: <a class="external" href="http://www.redmine.org">http://www.redmine.org</a><br /> |
45 |
and an email address <a class="email" href="mailto:foo@example.net">foo@example.net</a></p>
|
|
45 |
and email addresses <a class="email" href="mailto:foo@example.net">foo@example.net</a> and <a class="email" href="mailto:foo/bar@example.net">foo/bar@example.net</a></p>
|
|
46 | 46 |
EXPECTED |
47 | 47 | |
48 | 48 |
assert_equal expected.gsub(%r{[\r\n\t]}, ''), Redmine::WikiFormatting::NullFormatter::Formatter.new(raw).to_html.gsub(%r{[\r\n\t]}, '') |