Defect #27968 » 0001-do-not-recognize-hires-images-as-email-addresses.patch
lib/redmine/wiki_formatting.rb | ||
---|---|---|
184 | 184 |
html.gsub!(%r{\battachment:<a(\sclass="email")? href="mailto:(.*?)">(.*?)</a>}) do |
185 | 185 |
"attachment:#{$2}" |
186 | 186 |
end |
187 |
# restore hires images which are misrecognized as email address eg. [printscreen@2x.png] |
|
188 |
html.gsub!(%r{<a(\sclass="email")? href="mailto:[^"]+@\dx\.(bmp|gif|jpg|jpe|jpeg|png)">(.*?)</a>}) do |
|
189 |
"#{$3}" |
|
190 |
end |
|
187 | 191 |
html |
188 | 192 |
end |
189 | 193 |
end |
test/helpers/application_helper_test.rb | ||
---|---|---|
697 | 697 | |
698 | 698 |
with_settings :text_formatting => 'textile' do |
699 | 699 |
raw = "attachment:image@2x.png should not be parsed in image@2x.png" |
700 |
assert_match %r{<p><a class="attachment" href="/attachments/#{attachment.id}/image@2x.png">image@2x.png</a> should not be parsed in <a class="email" href="mailto:image@2x.png">image@2x.png</a></p>},
|
|
700 |
assert_match %r{<p><a class="attachment" href="/attachments/#{attachment.id}/image@2x.png">image@2x.png</a> should not be parsed in image@2x.png</p>},
|
|
701 | 701 |
textilizable(raw, :attachments => [attachment]) |
702 | 702 |
end |
703 | 703 | |
704 | 704 |
with_settings :text_formatting => 'markdown' do |
705 | 705 |
raw = "attachment:image@2x.png should not be parsed in image@2x.png" |
706 |
assert_match %r{<p><a class="attachment" href="/attachments/#{attachment.id}/image@2x.png">image@2x.png</a> should not be parsed in <a href="mailto:image@2x.png">image@2x.png</a></p>} ,
|
|
706 |
assert_match %r{<p><a class="attachment" href="/attachments/#{attachment.id}/image@2x.png">image@2x.png</a> should not be parsed in image@2x.png</p>} ,
|
|
707 | 707 |
textilizable(raw, :attachments => [attachment]) |
708 | 708 |
end |
709 | 709 |
end |
test/unit/lib/redmine/wiki_formatting_test.rb | ||
---|---|---|
77 | 77 |
end |
78 | 78 |
end |
79 | 79 | |
80 |
def test_hires_images_should_not_be_recognized_as_email_addresses |
|
81 |
raw = <<-DIFF |
|
82 |
Image: logo@2x.png |
|
83 |
DIFF |
|
84 | ||
85 |
expected = <<-EXPECTED |
|
86 |
<p>Image: logo@2x.png</p> |
|
87 |
EXPECTED |
|
88 | ||
89 |
assert_equal expected.gsub(%r{[\r\n\t]}, ''), Redmine::WikiFormatting::NullFormatter::Formatter.new(raw).to_html.gsub(%r{[\r\n\t]}, '') |
|
90 |
end |
|
91 | ||
80 | 92 |
def test_cache_key_for_saved_object_should_no_be_nil |
81 | 93 |
assert_not_nil Redmine::WikiFormatting.cache_key_for('textile', 'Text', Issue.find(1), :description) |
82 | 94 |
end |